날짜의 년을 반환
날짜의 월을 반환
날짜의 일을 반환
날짜 + 구성요소(YY MM CD HH MI SS)를 숫자만큼 더함
* 오늘 날짜와 100일 후의 날짜 표시하기
SELECT GETDATE(), DATEADD(dd, 100, GETDATE())
2019-07-29 17:27:41.857, 2019-11-06 17:27:41.857
* 오늘 날짜와 2주 후의 날짜 표시하기
SELECT GETDATE(), DATEADD(wk, 2, GETDATE())
2019-07-29 17:27:41.857 2019-08-05 17:27:41.857

날짜1 - 날짜2 차이를 반환
날짜에 해당하는 구성요소를 숫자로 반환
EX) DATEPART(YY,2011-02-21) -> 2011

해당하는 날짜를 반환
EX) DATEROMPARTS(2022,10,21) -> 2022-10-21
IIF(조건, 참일 때 값, 거짓일 때 값)
IIF(결혼유무=N'기혼', 'O','X') AS 결혼구분
CASE WHEN 결혼유무=N'기혼' THEN 'O'
WHEN 결혼유무=N'미혼' THEN 'X'
ELSE '-'
END AS 결혼구분
※ N 은 National의 약자로, 다국어를 입력할 때 꼭 사용
: 대부분 WHERE절의 조건식에서 사용되어 원하는 결과만 조회함
'값1','값2','값N'...중 하나
값1,값2를 포함한 사이의 값
값이 NULL
값이 NULL이 아님
패턴이 같은 값
% : 없거나 1개 이상의 글자
_ : 1개의 글자
[0-9] : 0-9까지의 숫자
[A-Z] : A-Z까지의 영자
EX)
SELECT *
FROM 초기고객정보
WHERE ID LIKE '__C%';
-- ID가 C와 숫자 2개인 데이터
SELECT *
FROM 초기고객정보
WHERE ID LIKE 'C[0-9][0-9]'
-- ID가 B,C,D중 하나로 시작하는 데이터
SELECT *
FROM 초기고객정보
WHERE ID LIKE '[BCD]%'
패턴이 다른 값
연산자 우선순위
: () - AND - OR
최찰떡 강의 문제풀이
1. 해당하는 칼럼 찾기
2. 필요한 작업 나열하기
3. 작업에 필요한 연산자 찾기
--전화번호를 믿을 수 없는 독일 공급업자를 알려주세요.
--[참조] 독일 전화번호 형식 : (숫자3개) 를 포함 EX) (012)3456789
SELECT SupplierName, ContactName, Country, Phone
FROM Suppliers
WHERE Country='Germany'
AND Phone NOT LIKE '%([0-9][0-9][0-9])%'
--2) 다른 독일 공급업자와 구분하여 표시해주세요.
--[참조] 독일 전화번호 형식 : (숫자3개) 를 포함 EX) (012)3456789 / 새로운 칼럼 생성 (Notes : Exact 또는 Inexact)
SELECT SupplierName, ContactName, Country, Phone,
CASE WHEN Phone NOT LIKE '%([0-9][0-9][0-9])%' THEN 'Exact'
ELSE 'Inexact'
END AS Notes
FROM Suppliers
WHERE Country='Germany'
--답
SELECT SupplierName, ContactName, Country, Phone,
IIF(Phone NOT LIKE '%([0-9][0-9][0-9])%','Exact','Inexact')
AS Notes
FROM Suppliers
WHERE Country='Germany'
--3) 자료를 후보순위별, 공급업체 이름별로 정렬해주세요. (모두 오름차순)
--[참조] 후보 1 : 캐나다, 후보2 : 프랑스, 후보3 : 호주 / 새로운 칼럼 생성 (Candidate : 1, 2, 3)
SELECT SupplierName, ContactName, Country,
CASE WHEN Country='Canada' THEN '1'
WHEN Country='France' THEN '2'
ELSE '3'
END AS Candidate
FROM Suppliers
WHERE Country IN('Canada','France','Australia')
ORDER BY Candidate, SupplierName
출처: https://dongpal.tistory.com/34 [dongpal's story:티스토리]