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
운영게시판
최근게시물
Oracle Q&A 40365 게시물 읽기
No. 40365
조회조건 분기 처리시 질문이요.
작성자
쌈창(ssamchang)
작성일
2014-01-24 14:58
조회수
6,562

WITH T AS (

SELECT 1 SEQ, '1' CLSS, '한글' CLSS_HG, '가' VAL FROM DUAL UNION ALL

SELECT 2 SEQ, '1' CLSS, '한글' CLSS_HG, '나' VAL FROM DUAL UNION ALL

SELECT 3 SEQ, '2' CLSS, '영어' CLSS_HG, 'A' VAL FROM DUAL UNION ALL

SELECT 4 SEQ, '2' CLSS, '영어' CLSS_HG, 'B' VAL FROM DUAL UNION ALL

SELECT 5 SEQ, '3' CLSS, '숫자' CLSS_HG, '1' VAL FROM DUAL UNION ALL

SELECT 6 SEQ, '3' CLSS, '숫자' CLSS_HG, '2' VAL FROM DUAL UNION ALL

SELECT 7 SEQ, '4' CLSS, '특수' CLSS_HG, '@' VAL FROM DUAL

)

 

1.

SELECT SEQ, CLSS, CLSS_HG, VAL FROM T

WHERE ((0=:p AND CLSS = CLSS) OR (CLSS=:p AND CLSS =1) OR (CLSS=:p AND CLSS=2) OR (CLSS=:p AND CLSS=3))

 

2.

SELECT SEQ, CLSS, CLSS_HG, VAL FROM T

WHERE ((0=:p AND CLSS = CLSS) OR (1=:p AND CLSS =1) OR (2=:p AND CLSS=2) OR (3=:p AND CLSS=3))

 

조회 조건이 0일떄 전체 1일때 한글, 2일때 영어, 3일때 특수가 검색되게 조건을 줄때요

1번과 2번 방법의 차이가있나요? 검색 속도나 머 여러가지요.....

 

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

전체 결과가 나오려면 일단 CLSS 컬럼이 NOT NULL이어야 하구요....

WHERE CLSS = DECODE(:p, 0, CLSS, :p)

이게 더 간결해서 이렇게 씁니다....

 

PLAN은 세가지가 다 똑같이 나오네요..

 

 

햇살한조각님이 2014-02-02 16:27에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40369blob 필드 확인가능한가요?
염정훈
2014-02-03
6326
40367고수님들 쿼리 부탁합니다(컬럼에 ',' 로 구분된것 한꺼번에 가져오기) [1]
마운틴
2014-01-28
6562
40366SQL 관련 질문 드립니다. [1]
황인준
2014-01-28
6452
40365조회조건 분기 처리시 질문이요. [1]
쌈창
2014-01-24
6562
40364매일 변경 데이터를 txt파일 형태로 내려받고 싶습니다.
질럿
2014-01-24
6397
40363oracle 9i simplex method 적용 방법 문의
이형길
2014-01-23
6522
40361안녕하세요~ 토드에 관한질문입니다..
김상수
2014-01-23
6737
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다