IT 기술/Database

SQL Server에서 날짜 및 시간 정보를 가공해서 쓰기.

ㅇㅔ ㄷㅡ 2011. 7. 12. 18:17
Microsoft SQL Server에서 날짜를 가공해서 쓰다보니 Oracle과 차이점이 있어서 정리해 놓는다. 예전에 한번 정리했던것 같은데, 음... 안 보여서리... ㅋㅋㅋ
암튼 아래의 쿼리를 실행시켜보면 원하는 형태의 날짜 정보를 얻을 수 있을것이다.
Oracle에서는 TO_CHAR라는 함수를 이요하여 SYSDATE로 받은 날짜형 자료를 변환했지만, SQL Server에서는 CONVERT로 변환해서 사용한다.

SELECT GETDATE() "기본값",
       CONVERT(VARCHAR, GETDATE(), 120) "120",
       REPLACE(SUBSTRING(CONVERT(VARCHAR, GETDATE(), 120), 1, 10), '-', '') "120+수정",
       CONVERT(VARCHAR, GETDATE(), 111) "111",
       REPLACE(CONVERT(VARCHAR, GETDATE(), 111), '/', '') "111+수정",
       CONVERT(VARCHAR, GETDATE(), 121) "121",
       CONVERT(VARCHAR, GETDATE(), 110) "110",
       CONVERT(VARCHAR, GETDATE(), 112) "112",
       CONVERT(VARCHAR, GETDATE(), 113) "113",
       CONVERT(VARCHAR, GETDATE(), 114) "114",
       CONVERT(VARCHAR, GETDATE(), 109) "109",
       CONVERT(VARCHAR, GETDATE(), 108) "108",
       CONVERT(VARCHAR, GETDATE(), 107) "107",
       CONVERT(VARCHAR, GETDATE(), 106) "106",
       CONVERT(VARCHAR, GETDATE(), 105) "105",
       CONVERT(VARCHAR, GETDATE(), 104) "104",
       CONVERT(VARCHAR, GETDATE(), 103) "103"
GO

아래에는 위의 쿼리문을 실행한 결과를 하나씩 나열한 것이다.
2011-07-12 17:57:34.787   
2011-07-12 17:57:34   
20110712   
2011/07/12   
20110712   
2011-07-12 17:57:34.787   
07-12-2011   
20110712   
12 07 2011 17:57:34:787   
17:57:34:787
07 12 2011  6:13:05:023PM   
18:13:05   
07 12, 2011   
12 07 2011   
12-07-2011   
12.07.2011   
12/07/2011