2016-11-04 2 views
0

나는 약간의 도움을 찾고 있습니다. 학교 프로젝트에 날짜 필드가 2015/08/08T12 : 00GMT입니다. 나는 SQL에 대해서 하나의 클래스만을 가졌으므로, 이것에 정말로 새로운 것입니다. 00GMT가 날짜 형식으로 변환 : DateTime을 varchar에서 변환

내가 varchar(50) 2015/08/08T12 필요 : 내 상황이 있습니다. 나는 SQL에서 이것을하는 방법을 모른다. 나는 캐스트를 피곤하게하고 변환하고, 나는 계속해서 오류를 얻고 변환에 실패한다.

나는 여러 가지 방법을 시도하여 결과를 얻지 못하고있다. 어떤 도움이 그렇게 appreicated 것입니다, 감사합니다!

+0

'convert (datetime, replace ('2015/08/08T12 : 00GMT', '/', '-'), 'GMT', '') + ': 00', 127) 최선의 방법이 되십시오. 또한 GMT 만 사용하고 있다고 가정합니다. – shawnt00

+0

내가 병합해야하는 세 가지 파일이 있습니다. 현재 작동중인이 파일은 GMT 전용입니다. 다음은 UTC입니다. 마지막으로 2015-08-07T15 : 00 : 00Z 감사합니다. –

+0

마이클, 앞으로는 모든 변형을 질문에 포함하는 것이 좋습니다. – shawnt00

답변

0

다음은 가능한 접근 방법과 솔루션에 대한 생각을 얻기 위해 생각 :

declare @T varchar(100) = '2015/08/08T12:00GMT'; 
select 
    convert(
     datetime, 
     replace(
      case when right(@T, 3) in ('GMT', 'UTC') 
       then left(@T, len(@T) - 3) + ':00Z' 
       else @T 
      end, 
      '/', '-' 
     ), 
     127 
    ); 

문서는 기능 convert()가 인식 할 수있는 형식을 주문.