날짜 변환 질문 0 6 871

by 힘내라김대리 [SQLServer] mssql 날짜변환 [2019.05.01 18:55:44]


varchar 형식의 데이터를 datetime으로 변환 하려고합니다.

2019-05-01 12:34:00 로 되어있는 데이터가 아니고

20190501123400 으로 되어있는 데이터입니다

이것을 datetime 으로 변환 하려고하는데 되지 않아서 고수님들께 질문을 드립니다

어떻게 하면 datetime으로 변환이 가능할까요??

 

by DB 꿈나무 [2019.05.01 19:18:53]

SELECT TO_DATE('20160901151212','YYYYMMDDHH24MISS'AS ONE

           ,TO_DATE('20160901091212','YYYYMMDDHHMISS'AS TWO

           ,TO_DATE('2016090115','YYYYMMDDHH24'AS THREE

           ,TO_DATE('2016','YYYY'AS FOUR

                      FROM DUAL


결과

ONE  2016-09-01 오후3:12:12

TWO 2016-09-01 오전9:12:12

THREE 2016-09-01 오후3:00:00

FOUR 2016-10-01 오전12:00:00

 


by 힘내라김대리 [2019.05.01 19:22:22]

DB꿈나무님께서 말씀해주신 쿼리는...오라클 기준인것 같네요.. 저 위의 질문은 MSSQL 기준입니다.


by DB 꿈나무 [2019.05.01 19:33:45]

 CONVERT ( 데이터형식(크기), 날짜포멧, 변수 )

SELECT CONVERT(VARCHAR, GETDATE(), 120)  : 2014-08-27 08:59:23
 


by 힘내라김대리 [2019.05.01 19:41:04]

GETDATE를 하면 2019-05-01 19:38:18.877 이런식으로 나오는건 저도 압니다.

거기에서 CONVERT 함수를 쓰면, 타입에 맞춰서 변형할 수 있는 것도 알고 있구요....

하지만 문자열로 되어있는 데이터의 경우를 물어본겁니다.

'20190501151232' 이렇게 14자리로 되어있는 경우입니다.

글자를 자르고 붙이고 하면서 DATE 형식으로 만들순 있지요...

하지만 제가 질문하는건 복잡하게 이것저것 함수 쓰는 것 보단, 좀 더 쉬운방법으로 변환하는 방법이 있는지 질문을 한겁니다.


by DB 꿈나무 [2019.05.01 19:56:57]

SELECT CAST(STUFF(STUFF(STUFF('20190501123400',9,0,''),12,0,':'), 15,0,':') AS DATETIME)

stuff() 함수를 이용해서 하는법 밖에 잘 모르겠네요 도움 못드려서 죄송 ;;


by 힘내라김대리 [2019.05.01 20:38:27]

아닙니다~ 큰 도움이 됩니다~ 감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입