2007~2011/SQL Server2010.03.16 13:04

SQL Server 날짜, 시간을 출력하는 데 필요한 몇 가지 팁들을 정리하였습니다. 참고자료에 링크된 웹사이트에 Robyn Page 님의 Inputting Dates/Times, Outputting Dates, Manipulating/Formatting/Calculating Dates Dates 에 대해 정리된 자료가 있어 일부를 인용하여 정리하였습니다. 필요할 때 하나씩 살펴보고 응용해서 사용하려고 합니다.
단, 이 자료에서 SQL Server 2008 에 새롭게 추가된 DATE / TIME Data Types 에 대해서는 정리되어 있지 않습니다. ^^;



-- Language 정보
sp_HelpLanguage

 


-- Language 선택에 따른 결과의 차이
SET language Korean
SELECT DATENAME (MONTH,GETDATE()) -- 03
SELECT DATENAME (weekday,GETDATE()) -- 화요일

SET language us_english
SELECT DATENAME (MONTH,GETDATE()) -- March
SELECT DATENAME (weekday,GETDATE()) -- Tuesday


-- 현재 시간 얻기
SELECT GETDATE()    -- LOCAL : 2010-03-16 10:45:18.400
SELECT GETUTCDATE() -- GMT   : 2010-03-16 01:45:18.400
SELECT DATEDIFF(hour, GETDATE(), GETUTCDATE()) -- -9

SELECT YEAR(GETDATE()) AS '연도' , MONTH(GETDATE()) AS '월' , DAY(GETDATE()) AS '일'
SELECT DATEPART(YEAR,GETDATE()) AS '연도', DATEPART(MONTH,GETDATE()) AS '월' , DATEPART(DAY,GETDATE()) AS '일'

/*
연도          월           일
----------- ----------- -----------
2010        3           16
*/ 


-- 날짜 포맷
SELECT CAST(YEAR(GETDATE()) AS VARCHAR) -- 2010, 4자리 연도
SELECT RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR),2)  -- 10, 2자리연도
SELECT CONVERT(VARCHAR(8),GETDATE(),8) -- 13:23:17, 24시간제


-- 날짜 계산
SELECT DATEADD(hour,7,GETDATE()) -- 2010-03-16 13:26:59.393, +7시간
SELECT DATEADD(MONTH,-2,GETDATE()) -- 2010-01-16 11:28:10.383, -2개월




[참고자료]
Using dates, and times in SQL Server: a workbench approach
http://www.simple-talk.com/sql/learn-sql-server/robyn-pages-sql-server-datetime-workbench/

Date and Time Data Types and Functions (Transact-SQL)
http://technet.microsoft.com/en-us/library/ms186724.aspx

datetime2 (Transact-SQL)
http://technet.microsoft.com/en-us/library/bb677335.aspx


작성자 : Lai Go / 작성일자 : 2010.03.16
Posted by Lai Go