본문으로 바로가기

[MSSQL] CONVERT 시 DATETIME FORMAT 지정 (LIKE)

category 코딩/SQL_Query 2023. 5. 19. 16:11

2012 이전 버전의 MS-SQL Server에서는 날짜 형식을 검색할 때 CONVERT 함수를 써야 하고, 세번째 인자로 20을 주로 사용한다.

SELECT * FROM TA_CUST_PURCHASE WHERE CONVERT(NVARCHAR, SALE_DATE, 20) LIKE '2023-04%'
-- 두 쿼리의 결과는 같다
SELECT * FROM TA_CUST_PURCHASE WHERE CONVERT(NVARCHAR(7), SALE_DATE, 20)='2023-04'

 

SQL Server 2012 버전부터는 추가된 FORMAT 함수를 사용하면 된다.

SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') -- 2023-05-19
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') -- 2023-05-19

 

datetime 형식의 데이터를 CONVERT 할 때 쓰이는 포맷
포맷 쿼리 예시 쿼리 결과
0 SELECT CONVERT(NVARCHAR, GETDATE(), 0) Aug 23 2019 1:39PM
1 SELECT CONVERT(NVARCHAR, GETDATE(), 1) 08/23/19
2 SELECT CONVERT(NVARCHAR, GETDATE(), 2) 19.08.23
3 SELECT CONVERT(NVARCHAR, GETDATE(), 3) 23/08/19
4 SELECT CONVERT(NVARCHAR, GETDATE(), 4) 23.08.19
5 SELECT CONVERT(NVARCHAR, GETDATE(), 5) 23-08-19
6 SELECT CONVERT(NVARCHAR, GETDATE(), 6) 23 Aug 19
7 SELECT CONVERT(NVARCHAR, GETDATE(), 7) Aug 23, 19
8 or 24 or 108 SELECT CONVERT(NVARCHAR, GETDATE(), 8) 13:39:17
9 or 109 SELECT CONVERT(NVARCHAR, GETDATE(), 9) Aug 23 2019 1:39:17:090PM
10 SELECT CONVERT(NVARCHAR, GETDATE(), 10) 08-23-19
11 SELECT CONVERT(NVARCHAR, GETDATE(), 11) 19/08/23
12 SELECT CONVERT(NVARCHAR, GETDATE(), 12) 190823
13 or 113 SELECT CONVERT(NVARCHAR, GETDATE(), 13) 23 Aug 2019 13:39:17:090
14 or 114 SELECT CONVERT(NVARCHAR, GETDATE(), 14) 13:39:17:090
20 or 120 SELECT CONVERT(NVARCHAR, GETDATE(), 20) 2019-08-23 13:39:17
21 or 25 or 121 SELECT CONVERT(NVARCHAR, GETDATE(), 21) 2019-08-23 13:39:17.090
22 SELECT CONVERT(NVARCHAR, GETDATE(), 22) 08/23/19 1:39:17 PM
23 SELECT CONVERT(NVARCHAR, GETDATE(), 23) 2019-08-23
101 SELECT CONVERT(NVARCHAR, GETDATE(), 101) 08/23/2019
102 SELECT CONVERT(NVARCHAR, GETDATE(), 102) 2019.08.23
103 SELECT CONVERT(NVARCHAR, GETDATE(), 103) 23/08/2019
104 SELECT CONVERT(NVARCHAR, GETDATE(), 104) 23.08.2019
105 SELECT CONVERT(NVARCHAR, GETDATE(), 105) 23-08-2019
106 SELECT CONVERT(NVARCHAR, GETDATE(), 106) 23 Aug 2019
107 SELECT CONVERT(NVARCHAR, GETDATE(), 107) Aug 23, 2019
110 SELECT CONVERT(NVARCHAR, GETDATE(), 110) 08-23-2019
111 SELECT CONVERT(NVARCHAR, GETDATE(), 111) 2019/08/23
112 SELECT CONVERT(NVARCHAR, GETDATE(), 112) 20190823
113 SELECT CONVERT(NVARCHAR, GETDATE(), 113) 23 Aug 2019 13:39:17.090
120 SELECT CONVERT(NVARCHAR, GETDATE(), 120) 2019-08-23 13:39:17
121 SELECT CONVERT(NVARCHAR, GETDATE(), 121) 2019-08-23 13:39:17.090
126 SELECT CONVERT(NVARCHAR, GETDATE(), 126) 2019-08-23T13:39:17.090
127 SELECT CONVERT(NVARCHAR, GETDATE(), 127) 2019-08-23T13:39:17.090
130 SELECT CONVERT(NVARCHAR, GETDATE(), 130) 22 ذو الحجة 1440 1:39:17.090P
131 SELECT CONVERT(NVARCHAR, GETDATE(), 131) 22/12/1440 1:39:17.090PM