일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 유효성
- 트랜젝션
- JavaScript
- 메일
- 정규표현식
- 더존ERP
- 정규식
- php
- MYSQL
- 목차만들기
- 핑
- port
- 자바스크립트
- codeigniter
- 문자열
- 핑테스트
- MSSQL
- crontab
- vscode
- jquery
- sp_who
- python
- pingtest
- js
- 포트
- 이메일주소
- ping
- 리눅스
- sendmail
- erp
Archives
- Today
- Total
ioerror
MSSQL의 datetime 자료형을 string 으로 형 변환 하기 본문
반응형
상황 :
MSSQL 데이터베이스에서 PHP로 select 쿼리를 날렸는데 다른 놈들은 다 잘 오는데 datetime 이 아이만 팔다리 잘려서 돌아왔다.
SQL : SELECT NO, NAME, REG_DATE FROM TABLE
RETURN : 1, 홍길동, 11
해결 :
이에 불쌍히 여겨 팔다리 붙여 주려고 찾아 본니..."CONVERT"를 이용하면 된다.
DATETIME 자료형은 CONVERT(CHAR(19), REG_DATE, 120)으로 형 변환해야 한다.
SQL : SELECT NO, NAME, CONVERT(CHAR(19), REG_DATE, 120) AS REG_DATE FROM TABLE
RETURN : 1, 홍길동, 2017-01-12 13:12:20
배움 :
CONVERT 에서 숫자 상수의 의미는 아래의 주소를 참고한다.
https://docs.microsoft.com/ko-kr/sql/t-sql/functions/cast-and-convert-transact-sql
두 자리 연도 (yy) | 네 자리 연도(yyyy) | Standard | 입/출력 |
- | 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 | 기본값 + 밀리초 | 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 | 유럽 기본값 + 밀리초 | dd mon yyyy hh:mi:ss:mmm(24h) |
14 | 114 | - | hh:mi:ss:mmm(24h) |
- | 20 또는 120 | ODBC 표준 | yyyy-mm-dd hh:mi:ss(24h) |
- | 21 또는 121 | 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 | 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 |
반응형
Comments