Programming - cpueblo.com

날짜 관련 함수와 예제


글쓴이 : 유광희 날짜 : 2006-12-05 (화) 14:23 조회 : 5482


날짜 관련 함수입니다.


2.1.1 GETDATE() 함수

시스템의 날짜를 리턴합니다.

SELECT GETDATE()
2002-05-24 오전 10:51:05

SELECT GETDATE()+100
2002-09-01 오전 10:51:05



2.1.2 CONVERT() 함수

결과값의 데이타 타입을 변환시킵니다.

SELECT CONVERT(varchar(30), GETDATE(),100)
May 24 2002 10:51AM

SELECT CONVERT(varchar(30), GETDATE(),101)
05/24/2002

SELECT CONVERT(varchar(30), GETDATE(),102)
2002.05.24

SELECT CONVERT(varchar(30), GETDATE(),103)
24/05/2002

SELECT CONVERT(varchar(30), GETDATE(),104)
24.05.2002

SELECT CONVERT(varchar(30), GETDATE(),105)
24-05-2002

SELECT CONVERT(varchar(30), GETDATE(),106)
24 May 2002

SELECT CONVERT(varchar(30), GETDATE(),107)
May 24, 2002

SELECT CONVERT(varchar(30), GETDATE(),108)
10:51:05

SELECT CONVERT(varchar(30), GETDATE(),109)
May 24 2002 10:51:05:140AM

SELECT CONVERT(varchar(30), GETDATE(),110)
05-24-2002

SELECT CONVERT(varchar(30), GETDATE(),111)
2002/05/24

SELECT CONVERT(varchar(30), GETDATE(),112)
20020524

SELECT CONVERT(varchar(30), GETDATE(),113)
24 May 2002 10:51:05:160

SELECT CONVERT(varchar(30), GETDATE(),114)
10:51:05:160



2.1.3 DATEPART() 함수

날짜에서 지정한 날자형식부분만 추출해줍니다
형식: DATEPART(날짜형식, 날짜)

SELECT DATEPART(yy, GETDATE())
2002

SELECT DATEPART(mm, GETDATE())
5

SELECT DATEPART(dd, GETDATE())
24

SELECT DATEPART(hour, GETDATE())
10

SELECT DATEPART(mi, GETDATE())
51

SELECT DATEPART(ss, GETDATE())
5

SELECT DATEPART(dw, GETDATE())
6


년/월/일/시/분/초/요일을 숫자로 보여준 예제입니다.

2.1.4 YEAR() , MONTH() , DAY() 함수

해당 년,월,일을 각각 뽑아줍니다.
형식: YEAR(날짜) , MONTH(날짜) , DAY(날짜)

SELECT YEAR(GETDATE())
2002

SELECT MONTH(GETDATE())
5

SELECT DAY(GETDATE())
24



2.1.5 DATEADD() 함수


DATEADD함수는 날짜에 지정한 만큼을 더합니다.
형식: DATEADD(날짜형식, 더할 값, 날짜)


SELECT DATEADD(mm,20,GETDATE())
2004-01-24 오전 10:51:05


현재날짜에 월에 20을 더한 날짜를 출력하라.

SELECT DATEADD(dd,100,GETDATE())
2002-09-01 오전 10:51:05


오늘부터 100일 후의 날짜를 출력하라.

2.1.6 DATEDIFF() 함수

DATEDIFF함수는 두 날짜사이의 날짜형식에 지정된 부분을 돌려줍니다.
형식: DATEDIFF(날짜형식, 시작 날자, 끝 날짜)


SELECT DATEDIFF(dd,GETDATE(),'3000.1.1')
364369


현재날짜와 3000.1.1일 사이의 일수는 얼마일까.??

SELECT DATEDIFF(MM,GETDATE(),'2003.1.1')
8


현재날짜와 2003.1.1일 사이의 월수는 얼마일까.??

2.1.7 DATENAME() 함수

DATENAME함수는 지정한 날짜의 날자형식의 이름을 돌려줍니다.
형식: DATENAME(날짜형식, 날짜)

SELECT DATENAME(mm,GETDATE())
May

SELECT DATENAME(dd,GETDATE())
24

SELECT DATENAME(dw,GETDATE())
Friday