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

예전에 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 의 반복문을 이용한 문자열 치환하기  (0) 2019.12.20
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
postgresql loop 반복문  (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 구차니

댓글을 달아 주세요

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

어라.. 문을 닫았네?

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

 

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

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

 

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

Posted by 구차니

댓글을 달아 주세요

  1. 문구점은 오프라인에 좀 있어야 된다고 보는데 온라인이 가격이 저렴하다고 해도 택배비때문에 오히려 더 비싸게 구매하게 되버리는 경우가 많네요. ㅡㅡ;

    2019.12.20 15:55 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 배송비 따져보면 그게 그거인지라
      가끔은 오프라인에서 사는데 오프매장이 사라지니 좀 당황스러워요 ㅠㅠ

      2019.12.20 16:12 신고 [ ADDR : EDIT/ DEL ]
  2. Draco

    요즘은 다이소가 문구점 역할을 빼앗고, 동네 문구점은 학교 준비물이나 장난감 판매 쪽에 집중하더라구요

    2019.12.20 17:57 [ ADDR : EDIT/ DEL : REPLY ]
    • 회사 근처에는 다이소가 없는것 같네요.
      확실히 천원짜리다 보니 문구점을 많이 빼앗고. 카드도 되고 불편도 없으니 상대가 안된다고 생각이 됩니다.

      2019.12.20 18:12 신고 [ ADDR : EDIT/ DEL ]
  3. 메리 크리스마스입니다^^

    2019.12.23 02:13 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 미리 크리스마스 입니다 ^^
      행복한 성탄되세요~

      전 웬지 야근. 철야. 특근의 스멜이 납니다 ㅠㅠ

      2019.12.23 02:56 신고 [ ADDR : EDIT/ DEL ]

오류: "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
postgres 동일 컬럼명 에러  (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 구차니

댓글을 달아 주세요