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
운영게시판
최근게시물
MS-SQL Q&A 5671 게시물 읽기
No. 5671
IN (CASE WHEN ~~~
작성자
조중규(biosensor)
작성일
2010-06-02 11:57ⓒ
2010-06-02 11:59ⓜ
조회수
6,631

WHERE mode IN (CASE WHEN @mode IN ('0', '1') THEN (SELECT '0' UNION SELECT '1')
                    WHEN @mode = '2' THEN (SELECT '2') END)

 

위의 쿼리가 문법이 잘못되었다고 나오는군요. 분명 예전에 비슷한 쿼리로 작업했던 기억이 있어서 써봤는데 안되서 당황했습니다.

문제는 적색처리된 부분에서 나타나구요. BETWEEN을 사용해서 해결하긴 했지만 궁금증은 사라지지 않고있습니다.

고수분들의 고견을 부탁드립니다.

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

WHERE mode IN (@mode, CASE @mode WHEN '0' THEN '1' WHEN '1' THEN '0' END)

마농(manon94)님이 2010-06-04 10:47에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5674create table에서 컬럼명에 / 가 안 먹혀요.. [2]
김태희
2010-06-08
6259
5673함수에서 랜덤값 사용을 할려고 하는데 [1]
한동
2010-06-03
10525
5672테이블에서 특정 필드값은 하나만 가져오기무심
스나이퍼
2010-06-03
6561
5671IN (CASE WHEN ~~~ [1]
조중규
2010-06-02
6631
5669재귀 함수 질문!
육동효
2010-05-31
7266
5668mssql 시퀀스 질문 [1]
육동효
2010-05-29
7095
5667internet Explorer 7에서 8 업데이트하는 방법 좀알려 주세요..
서정용
2010-05-28
5593
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다