-
DB CASE문 LEFT RIGHT SUBSTRING함수Database/MS-SQL 2008. 10. 17. 11:53반응형
C#의 스위치문과 같은형식
CASE문은 데이터가 세로로가 아니라 가로로 나온다
SELECTsale_ymd,-- 케이스 시작CASEWHEN SUBSTRING (sale_ymd, 5,2) = '01' THEN -- SUBSTRING 값이 01 이면 1월달해라'1월달' -- CASE WHEN [] = THEN []WHEN SUBSTRING (sale_ymd, 5,2) = '02' THEN'2월달'
WHEN SUBSTRING (sale_ymd, 5,2) = '03' THEN'3월달'ELSE'몰라'END --케이스 끝FROM saleWHERE sale_ymd LIKE '2008%'
SELECTCASE WHEN SUBSTRING (sale_ymd, 5,2) = '01' THEN sale_qty ENDFROM saleWHERE sale_ymd LIKE '2008%'
SELECTSUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '01' THEN sale_qty END) AS '1월달 판매량'FROM saleWHERE sale_ymd LIKE '2008%'
SELECTSUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '01' THEN sale_qty END) AS '1월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '02' THEN sale_qty END) AS '2월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '03' THEN sale_qty END) AS '3월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '04' THEN sale_qty END) AS '4월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '05' THEN sale_qty END) AS '5월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '06' THEN sale_qty END) AS '6월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '07' THEN sale_qty END) AS '7월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '08' THEN sale_qty END) AS '8월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '09' THEN sale_qty END) AS '9월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '10' THEN sale_qty END) AS '10월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '11' THEN sale_qty END) AS '11월달 판매량',SUM(CASE WHEN SUBSTRING (sale_ymd, 5,2) = '12' THEN sale_qty END) AS '12월달 판매량'FROM saleWHERE sale_ymd LIKE '2008%'
LEFT RIGHT SUBSTRING
SELECTLEFT(sale_ymd ,6)AS '판매년월',SUM(sale_qty)AS '총판매량'FROM sale -- sale_ymd 의 같은 값을 가저온다GROUP BY LEFT (sale_ymd , 6) -- GROUP BY 로하면 200801 까지 짤린그룹들을 합계해서출력한다
SELECT sale_ymd, LEFT(sale_ymd, 6)-- sale 테이블에서 sale_ymd라는 열FROM sale -- LEFT함수를 쓰면 문자를 왼쪽에서 부터 6자리 짜른다는말--
SELECT sale_ymd, LEFT(sale_ymd, 6),RIGHT(sale_ymd, 2) , RiGHT(sale_ymd , 4) -- LEFT RIGHT 문자열 함수FROM sale
SELECT sale_ymd,SUBSTRING(sale_ymd, 5,2) -- 5번째부터 2개까지 짜른다FROM sale
반응형'Database > MS-SQL' 카테고리의 다른 글
DB 트리거 문장 삽입하고 롤백 하기(저장안되게) (0) 2008.10.20 DB 트리거 백업트리고 사용법 INSERT INTO SELECT 설명 (0) 2008.10.20 DB 트리거 (TRIGGER ) DML트리거와 DDL트리거 DCL트리거 (0) 2008.10.20 DB CASE 문을 2개 안쓰고 한개로쓰기 (0) 2008.10.20 DB 커서 (0) 2008.10.17 SELECT 문과 함수사용 (0) 2008.10.17 DB 사용자정의 함수기본 사용자정의함수 예제 (0) 2008.10.16 DB 프로시저 묶기 INS(삽입), UPD(수정), DEL(삭제), SEL(전체), SEA(하나) (0) 2008.10.16