database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 3387 게시물 읽기
No. 3387
DB2 쿼리 질문입니다.
작성자
61
작성일
2014-06-02 22:00ⓒ
2014-06-02 22:01ⓜ
조회수
4,052

 오라클을 쓰다가 DB2를 쓰자니 쉽지가 않네요.

 

where a.yymm=decode(:yymm,'*',a.yymm,:yymm)

 

이것을 쓰려고 하는데

 

decode문은 DB2에서는 지원이 안되어

case문을 where절에 쓰려고 했으나, 잘 되지 않아, select문에서 도전해보았습니다.

select  a.yymm

             case :yymm

             then '*'  

             else a.yymm 

             end :yymm

(외워서 쓴거라 확실친 않으나 비슷하게 썼더니 결과값은 똑같았습니다. 지금 테스트 할수 없는 관계로 내일 6,3일에 다시 수정해서 올리겟습니다.)

 

아무튼 결과값은 똑같으나, oracle문법과는 완전 틀려서 ........고민입니다.

 

 

어떻게 고치는게 더 효과적일까요?

이 글에 대한 댓글이 총 4건 있습니다.

이런식으로는 어떨까요

select * from tab where '*'=:yymm OR a.yymm = :yymm

정상규(pajama)님이 2014-06-03 11:40에 작성한 댓글입니다.
이 댓글은 2014-06-03 11:40에 마지막으로 수정되었습니다.

 답변 감사합니다. 파자마님, 

 

제가 예전에 썼던 문법은 옳은건가요?

 

제가 썼던 문법입니다. (실행은 되어요. 이미 글에 쓴건 잘못된것이고, 이 것이 제가 실행했던

쿼리입니다.)

 

select a.yymm,

 case a.yymm

when '*' then a.yymm

else :yymm

end as yymm2

 

입니다.

61님이 2014-06-05 00:17에 작성한 댓글입니다.
이 댓글은 2014-06-05 00:20에 마지막으로 수정되었습니다. Edit

말씀하신 문법이 맞습니다. 

정상규(pajama)님이 2014-06-05 22:59에 작성한 댓글입니다.

감사합니다.^^ 

61님이 2014-06-11 22:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3390Context 관리좀 여쭤보려 합니다.
조민호
2014-06-20
3945
3389DB2 설치 운용중에 [1]
김명진
2014-06-17
3783
3388DB2 하나만 더 여쭤볼게요. [3]
61
2014-06-11
4161
3387DB2 쿼리 질문입니다. [4]
61
2014-06-02
4052
3386설치 후 인스턴스 [6]
김명진
2014-05-23
5192
3385특정 게시판 글중에서 등록일을 변경하고 싶습니다. [1]
최성민
2014-05-15
3563
3384문자형숫자에 천단위 마다 컴마표시.. [1]
으악
2014-03-18
4963
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다