반응형
자주쓰는데 매번 까먹어서 적는 CAST, CONVERT
SELECT 9.5 AS Original, CAST(9.5 AS int) AS int, CAST(9.5 AS decimal(6,4)) AS decimal;
SELECT 9.5 AS Original, CONVERT(int, 9.5) AS int, CONVERT(decimal(6,4), 9.5) AS decimal;
결과값
Original |
int |
decimal |
9.5 |
9 |
9.5000 |
-- CAST Syntax:
CAST ( expression AS data_type [ ( length ) ] )
-- CONVERT Syntax:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
더더욱 자주쓰는데 까먹는 표
두 자리 연도(yy) (1) | 네 자리 연도(yyyy) | 표준 | 입/출력(3) |
---|---|---|---|
- | 0 또는 100 (1,2) | datetime 및 smalldatetime의 기본값 | mon dd yyyy hh:miAM(또는 PM) |
1 | 101 | 미국 | 1 = mm/dd/yy 101 = mm/dd/yyyy |
2 | 102 | ANSI | 2 = yy.mm.dd 102 = yyyy.mm.dd |
3 | 103 | 영국/프랑스 | 3 = dd/mm/yy 103 = dd/mm/yyyy |
4 | 104 | 독일어 | 4 = dd.mm.yy 104 = dd.mm.yyyy |
5 | 105 | 이탈리아어 | 5 = dd-mm-yy 105 = dd-mm-yyyy |
6 | 106 (1) | - | 6 = dd mon yy 106 = dd mon yyyy |
7 | 107 (1) | - | 7 = Mon dd, yy 107 = Mon dd, yyyy |
8 | 108 | - | hh:mi:ss |
- | 9 또는 109 (1,2) | 기본값 + 밀리초 | mon dd yyyy hh:mi:ss:mmmAM(또는 PM) |
10 | 110 | USA | 10 = mm-dd-yy 110 = mm-dd-yyyy |
11 | 111 | 일본 | 11 = yy/mm/dd 111 = yyyy/mm/dd |
12 | 112 | ISO | 12 = yymmdd 112 = yyyymmdd |
- | 13 또는 113 (1,2) | 유럽 기본값 + 밀리초 | dd mon yyyy hh:mi:ss:mmm(24h) |
14 | 114 | - | hh:mi:ss:mmm(24h) |
- | 20 또는 120 (2) | ODBC 표준 | yyyy-mm-dd hh:mi:ss(24h) |
- | 21 또는 121 (2) | time, date, datetime2 및 datetimeoffset의 ODBC 표준(밀리초 포함) 기본값 | yyyy-mm-dd hh:mi:ss.mmm(24h) |
- | 126 (4) | ISO8601 | yyyy-mm-ddThh:mi:ss.mmm(공백 없이) 참고: 밀리초(mmm) 값 0의 경우 밀리초 소수 부분 값이 표시되지 않습니다. 예를 들어 '2012-11-07T18:26:20.000' 값은 '2012-11-07T18:26:20'으로 표시됩니다. |
- | 127(6, 7) | ISO8601(Z 표준 시간대) | yyyy-mm-ddThh:mi:ss.mmmZ (공백 없이) 참고: 밀리초(mmm) 값 0의 경우 밀리초 소수 값이 표시되지 않습니다. 예를 들어, '2012-11-07T18:26:20.000' 값은 '2012-11-07T18:26:20'으로 표시됩니다. |
- | 130 (1,2) | 회교식(5) | dd mon yyyy hh:mi:ss:mmmAM 이 스타일에서 mon은 전체 월 이름에 대한 다중 토큰 회교식 유니코드 표현을 나타냅니다.이 값은 SSMS의 기본 미국 영어 설치에서 올바르게 렌더링되지 않습니다. |
- | 131 (2) | 회교식(5) | dd/mm/yyyy hh:mi:ss:mmmAM |
------------
http://mirwebma.tistory.com/173
위 블로그가 훨씬 정리 잘해둔거같다.
왜 표에 23이 빠졌는지 모르겠는데
제일 자주쓰는형식
23,112,120
SELECT CONVERT(CHAR(10),GETDATE(),23) , CONVERT(CHAR(8),GETDATE(),112) , CONVERT(CHAR(19),GETDATE(),120)
결과값
2018-07-24
20180724
2018-07-24 15:25:20
반응형
'데이터베이스 > MSSQL' 카테고리의 다른 글
OFFSET FETCH 절 (페이징,LIMIT) (0) | 2018.08.08 |
---|---|
INSERT 문의 행 값 식 수가 최대 허용 행 값 수 1000을(를) 초과합니다. (0) | 2018.08.08 |
MSSQL 오늘 (0) | 2018.07.11 |
SELECT 문에 EXIST문사용 (0) | 2018.05.31 |
이번주 월요일~ 일요일 구하기 (0) | 2018.05.09 |