MS-SQL Server 날짜에 대한 함수
함수 |
매개변수 |
내용 |
Getdate |
() |
현재 날짜와 시간 |
DateADD |
(datepart, number, date) |
Datepart 부분에 number 값을 더한다. |
DateDiff |
(datepart, date1, date2) |
두 날짜 사이의 datepart 값 |
DateName |
(datepart, date) |
Date에 대한 datepart를 이르믕로 돌려준다. |
DatePart |
(datepart, date) |
Date에 대해 지정된 datepart 를 돌려준다. |
Day |
(date) |
Datepart(day,date)와 같다. |
Month |
(date) |
Datepart(Month, date)와 같다. |
Year |
(date) |
Datepart(Year, date)와 같다. |
시스템의 현재의 시간과 날짜를 가져온다.
Select Getdate()
Go
Style 유형
유형 |
유형 |
의미 |
나타나는 형식 |
- |
0 or 100 |
Default |
Mon dd yyyy hh:mi AM(or PM) |
1 |
101 |
|
Mm/dd/yy |
2 |
102 |
ANSI |
yy.mm.dd |
3 |
103 |
British / French |
Dd/mm/yy |
4 |
104 |
German |
dd.mm.yy |
5 |
105 |
Ltalian |
Dd=mm-yy |
6 |
106 |
- |
Dd mon yy |
7 |
107 |
- |
Mon dd, yy |
8 |
108 |
- |
Hh:mi:ss |
- |
9 or 109 |
Defautl + Milliseconds |
Mon dd, yyyy hh:mi:ss:ms AM (or PM) |
10 |
110 |
|
mm-dd-yy |
11 |
111 |
|
Yy/mm/dd |
12 |
112 |
ISO |
yy.mm.dd |
- |
13 or 113 |
|
Dd mon yyyy hh:mi:ss:ms(24h) |
14 |
114 |
- |
Hh:mi:ss:ms(24h) |
위의 style형태를 이용하여,
Ms(밀리 세컨드)까지 데이터를 가져오고 싶다면 다음과 같이 해야한다.
Select Convert(Varchar(30), Getdate(), 9)
go
또는 우리가 친숙한 yy.mm.dd 형식으로 표현하고 싶다면 그에 해당하는 유형 변호만 주면 된다.
Select Convert(Varchar(30), Getdate(), 2)
Go
Select Convert(Varchar(30), Getdate(), 102)
Go
첫번째 유형과 두번째 유형과의 차이는 직접해보면 아시겠지만, 년도 펴시에서 세기가 붙는지 않붙는지가 틀리다.
DatePart 내용
Datepart |
약어 |
범위 |
Year |
Yy |
1753 – 9999 |
Quarter |
Qq |
1-4 |
Month |
Mm |
1-12 |
Day of year |
Dy |
1-366 |
Day |
Dd |
1-31 |
Week |
Wk |
0-51 |
Weekday |
Dw |
1-7(1이 일요일) |
Hour |
Hh |
0-23 |
Minute |
Mi |
0-59 |
Second |
Ss |
0-59 |
Millisecond |
ms |
0-999 |
위의 표를 참고하여, 원하는 ‘월’만 가져오려면 다음과 같이 하면 된다.
Select Datepart(mm, Getdate())
Go
MS-SQL Server Version이 7.0 이후부터는 위의 방법 말고도 더 쉬운 방법이 생겼다.
Select Month(Getdate())
Go
오늘부터 20개월 후는 언제인지 알려면 다음과 같이 하면 된다.
Select Dateadd(mm, 20, Getdate())
Go
오늘부터 100일 후에는 언제일까 ?
Select Dateadd(dd, 100, Getdate())
Go
역시 7.0 이후에서는 이 방법 말고도 더 쉬운 방법이 생겼다.
Select Getdate() + 100
Go
그럼 3000년까지는 몇 일이나 남았을까 ?
Select Datediff(dd, Getdate(), ‘
go
다음 예제도 한번 보자. 한글 요일명이 출력된다.
Select DateName(dw, Getdate()), Datename(nm, Getdate())
Go
이상으로 쿼리문에서 자주 사용되는 날짜 관련 함수에 대해서 알아봤다.