2017-02-16 1 views
0

datetime으로 변환하려고하는 [YYYYmmdd hhmmss] 형식의 varchar 열 헤더 (Prod_time)가 있습니다. 특정 일 수에서 데이터를 가져올 수 있어야하며이 작업을 용이하게하기 위해 varchar를 datetime으로 변환 할 수 있어야합니다.varchar를 datetime으로 변환하는 방법

varchar를 datetime으로 변환하는 방법이 있습니까? datetime의 특별한 형식화는 필요 없으며 데이터 유형 변환 만 필요합니다.

+2

왜 왜 datetime 정보를 varchar 열에 저장합니까? 이것은 가장 많이 남용 된 데이터 유형 결정이어야합니다. –

+0

믿어 줘, 내 방식대로 할 수 있다면, 우리는 varchar 열에 날짜/시간 데이터를 저장하지 않을 것이다! 데이터 작업을 훨씬 어렵게 만들고 여분의 선과 조작을 필요로합니다. 그러나 내가 일하는 회사에서, 관리 정치 및 보안 등은 다음과 같이 불필요한 불필요한 방해를 막을 수있는 방법으로 얻습니다. / –

답변

3

변환 함수가이를 처리하는 방법을 알 수 있도록 여기에 몇 개의 문자를 입력해야합니다. 우리는 STUFF를 아주 쉽게 사용할 수 있습니다. 제공된 문자열 형식을 사용하면이 작업이 가능합니다.

declare @SomeChar varchar(20) = '20170216 100903' 

select CONVERT(datetime, STUFF(STUFF(@SomeChar, 12, 0, ':'), 15, 0, ':')) 

가능한 한 데이터 유형을 datetime으로 변환해야합니다. 이러한 번거 로움을 없애고 잘못된 값을 방지합니다.

관련 문제