일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Lock
- 신장사거리
- 카카오헤어샵
- 재테크
- 술안주
- 하남
- 티스토리
- 국정화 반대
- db
- javascript
- 파리바게트
- 박근혜 탄핵
- 맛집
- C#
- 트레커
- 카카오가 찾아준 헤어샵
- 동적쿼리
- Google Map
- 하남맛집
- 최신트래커
- 함수
- 내장함수
- 트래커
- 파리바게트 청라 SK점
- jquery
- 초대장
- .net
- MSsql
- 국정화
- 토렌트
- Today
- Total
featur
[MSSQL] 조건문 CASE (WHERE, ORDER BY 등) 본문
[MSSQL] 조건문 CASE (WHERE, ORDER BY 등)
WHERE 및 서브쿼리, 정렬(ORDER BY) 등 많은 곳에 응용 가능한 CASE 문 입니다.
예제로 알아봅시다.
SELECT CASE WHEN YEAR(GETDATE()) > 2016 THEN '병신년 아님' WHEN YEAR(GETDATE()) = 2016 THEN '병신년' ELSE '몰라' END AS '띠' DECLARE @TABLE TABLE( num INT identity(1,1), a INT, b INT, c INT ) INSERT INTO @TABLE VALUES(1,2,3) INSERT INTO @TABLE VALUES(2,2,3) INSERT INTO @TABLE VALUES(3,4,3) -- WHERE CASE 1 SELECT * FROM @TABLE WHERE ( CASE WHEN a > c THEN a WHEN a = c THEN b WHEN a < c THEN c ELSE 0 END ) > b -- WHERE CASE 1 SELECT * FROM @TABLE WHERE b = ( CASE WHEN a > c THEN a WHEN a = c THEN b WHEN a < c THEN c ELSE 0 END ) SELECT * FROM @TABLE ORDER BY ( CASE WHEN YEAR(GETDATE()) = '2016' THEN a WHEN YEAR(GETDATE()) = '2017' THEN b WHEN YEAR(GETDATE()) = '2018' THEN c ELSE num END ) ASC |
'개발 > MSSQL' 카테고리의 다른 글
[MSSQL] 전체 백업 (FULL BACKUP) (0) | 2016.12.21 |
---|---|
[MSSQL] 전체 데이터베이스 백업 (Full Database Backups) (0) | 2016.12.21 |
[MSSQL] sys.dm_exec_connections(Transact-SQL) SQL server 2008 이상 (0) | 2016.12.20 |
[MSSQL] TOP(Transact-SQL) TOP(식,변수,퍼센트) (0) | 2016.12.20 |
[MSSQL] MERGE를 사용하여 INSERT,UPDATE,DELETE 한번에 (0) | 2016.12.20 |