컬럼안에 case문을 넣으려합니다. 0 7 8,219

by 여비몬 [2016.01.11 11:42:23]


안녕하세요

현재 프로그램에서 값을 가져오는게

테이블안에 sql문을 넣어서 가져오는 형식으로 되어있습니다.

 

case문을 insert할일이 생겨서

insert into table1 values ('CASE WHEN J.EXT1_CD = '2' THEN '제외' ELSE '' END EXT1_CD'')

 

이런식으로 insert를 하려고하는데 ext1_cd = '2' 이부분과 같이 ' '에 빨간줄이가면서 안되네요..

일반적인 방법으로는 안되는건가요?

by DarkBee [2016.01.11 11:49:02]
단일 따옴표는 ASCII  코드 39번과 같습니다.

단일따옴표는 CHR(39)로 변경하여 입력가능합니다.

' ' =>   CHR(39)|| ' ' || CHR(39)

 


by 여비몬 [2016.01.11 11:57:22]

답변달아주셨는데 정말 감사합니다.

저렇게 했는데도 ' '근처의 구문이 잘못되었다며 INSERT가 안되는데 혹시 다른문제가 있을까요..?


by 창조의날개 [2016.01.11 12:00:14]
insert into table1 values ('CASE WHEN J.EXT1_CD = ''2'' THEN ''제외'' ELSE NULL END EXT1_CD');

 


by 여비몬 [2016.01.11 12:05:33]

감사합니다

MSSQL이라그런지 안먹히네요ㅠㅠ

INSERT는 되는데 SELECT 할때 문제가되는것같은..

감사합니다!


by jkson [2016.01.11 12:00:40]

오라클인경우(다른 db는 모르겠습니다.)

('case when j.ext1_cd = ''2'' then ''제외'' else '''' end ext1_cd')

이렇게도 가능합니다. 따옴표 안에서 따옴표 두개 '' -> '로 인식해요.

-------------------------------------------------------------

답변달고 보니 창조님이 먼저 달아주셨네요^^;


by 여비몬 [2016.01.11 12:05:06]

아참...MSSQL이네용...

저렇게하니까 인식을못하네요

흠 난감하군요ㅠㅠ

감사합니다!


by 여비몬 [2016.01.11 12:18:29]

제가 실수했었네요! '''' 으로하니까 됩니다

감사합니다

새해복많이받으세요~

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입