정상작동 되는지 전체가 들어간지는 아직 몰라서 확인이 필요함.

예전에 3 letter를 1letter로 replace를 이용한 건 편리했는데

1letter를 3letter로 바꾸는건 오류가 있어서 못쓰다가, 이번에 반복문을 이용해서 한번 시도해 봄

 

DO $$ 
DECLARE
   hgvspthreeletter text := 'Thr790Met';
   hgvsponeletter text := 'T790Mfs';
   hgvslen integer := length(hgvsponeletter);
   i	integer := 1;
   result	text;
   conv		text;
   res		text;
BEGIN 

--    RAISE NOTICE '%의 길이는 %이며 원래는 % 임', 
--        hgvsponeletter, hgvslen, hgvspthreeletter;

while i<= hgvslen loop
	select substring(hgvsponeletter, i, 1) into result;
	 SELECT i+1 INTO i;
	SELECT case 
		when result = 'A' then 'Ala'
		when result = 'B' then 'Asx'
		when result = 'C' then 'Cys'
		when result = 'D' then 'Asp'
		when result = 'E' then 'Glu'
		when result = 'F' then 'Phe'
		when result = 'G' then 'Gly'
		when result = 'H' then 'His'
		when result = 'I' then 'Ile'
		when result = 'J' then 'Xle'
		when result = 'K' then 'Lys'
		when result = 'L' then 'Leu'
		when result = 'M' then 'Met'
		when result = 'N' then 'Asn'
		when result = 'O' then 'Pyl'
		when result = 'P' then 'Pro'
		when result = 'Q' then 'Gln'
		when result = 'R' then 'Arg'
		when result = 'S' then 'Ser'
		when result = 'T' then 'Thr'
		when result = 'U' then 'Sec'
		when result = 'V' then 'Val'
		when result = 'W' then 'Trp'
		when result = 'X' then 'X'
		when result = 'Y' then 'Tyr'
		when result = 'Z' then 'Glx'
		when result = '*' then 'Ter' -- '*'
		else result
	end INTO conv;
	SELECT concat(res, conv) into res;
-- 	raise notice '% %' ,conv,res;
	end loop;
	
	raise notice '%' ,res;
END $$;

 

알림: Thr790Metfs

DO

Query returned successfully in 72 msec.

 

[링크 : https://www.hgvs.org/mutnomen/codon.html]

[링크 : http://www.gisdeveloper.co.kr/?p=4621]

[링크 : http://www.gisdeveloper.co.kr/?p=4573]

[링크 : https://w3resource.com/PostgreSQL/substring-function.php]

'프로그램 사용 > postgreSQL' 카테고리의 다른 글

left join이 능사는 아니다  (0) 2019.12.24
dense_rank()  (0) 2019.12.22
postgresql loop 반복문  (0) 2019.12.20
sql array any all  (0) 2019.12.20
postgres 동일 컬럼명 에러  (0) 2019.12.20
Posted by 구차니

디버깅 방법은 좀 찾아 봐야겠지만..

일단 텍스트에 대해서 length로 반복 횟수를 정하고

substr()로 특정 위치의 값 하나를 빼내서

다른 변수에 치환해서 넣어주면 원하는 기능을 구현을 할 수 는 있을 것으로 보인다.

 

[링크 : http://www.gisdeveloper.co.kr/?p=4573] <<

[링크 : http://www.gisdeveloper.co.kr/?p=4621]

[링크 : http://www.postgresqltutorial.com/plpgsql-loop-statements/]

 

'프로그램 사용 > postgreSQL' 카테고리의 다른 글

dense_rank()  (0) 2019.12.22
postgresql 의 반복문을 이용한 문자열 치환하기  (0) 2019.12.20
sql array any all  (0) 2019.12.20
postgres 동일 컬럼명 에러  (0) 2019.12.20
sql scan과 index  (0) 2019.12.19
Posted by 구차니

배열내의 내용을 검색하는 거라고 들었지만

실제로 내용을 보면 그런 용도와는 좀 다른 느낌.

 

[링크 : https://www.w3schools.com/sql/sql_any_all.asp]

[링크 : https://stackoverflow.com/questions/34627026/in-vs-any-operator-in-postgresql]

Posted by 구차니

길 맞은편에 있는 좀 규모가 있던 문구였는데

어라.. 문을 닫았네?

그리고 전에 한번 먹었던 참치집도 문을 닫았네?

 

한건물에 두개나 거의 동시에 문을 닫았다는 사실이 서글프게 느껴진다.

자영업자들의 겨울인것인가.. 이 쪽 지역이 무덤인 것인가..

 

이제 볼펜사러 어딜 가야하나...

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

또 한해가 끝나는구나  (0) 2019.12.31
가슴도 콩닥콩닥  (0) 2019.12.29
나를 위한 주문 "한 걸음을 내딛을 수 있는 힘"  (0) 2019.12.18
오랫만에 일찍 기...절?  (0) 2019.12.14
이틀만의 퇴근  (2) 2019.12.13
Posted by 구차니

오류: "array_agg" 칼럼을 하나 이상 지정했음

 

에러만 봐서는.. array_agg 컬럼을 여러개 써서 그런거 같은데

(한 쿼리에 array_agg를 여러번 쓰면 안되는 것으로 이해함)

정작 에러코드를 찾아가보면 컬럼명이 동일한게 존재하기 때문에 발생하는 에러라고 해석된다.

 

array_agg라는 이름으로 컬럼명이 생성되다 보니 그런건데.. 해석이 아무리봐도 이상한 듯..

결론은.. as로 다른 이름을 지정해주면 끝.

 

DB2 SQL-Error: -121
SQLState: 42701
Short Description: THE COLUMN IS IDENTIFIED MORE THAN ONCE IN THE INSERT OR UPDATE OR SET TRANSITION VARIABLE STATEMENT
The same column 'name' is specified more than once, either in the list of object columns of an INSERT statement, in the SET clause of an UPDATE statement, or in a SET transition variable statement. System action: The statement cannot be executed. No data was inserted or updated in the object table. Programmer response: Correct the syntax of the statement so that each column name is specified only once.

[링크 : http://www.sqlerror.de/db2_sql_error_-121_sqlstate_42701.html]

'프로그램 사용 > postgreSQL' 카테고리의 다른 글

postgresql loop 반복문  (0) 2019.12.20
sql array any all  (0) 2019.12.20
sql scan과 index  (0) 2019.12.19
postgresql 에서 ,로 구분되는 문자열로 내보내기  (0) 2019.12.18
postgres create view / materialized view  (0) 2019.12.15
Posted by 구차니