서로 다른 형식의 날짜가있는 하나의 varchar 데이터 형식 열이있는 SQL 테이블이 있습니다.다른 datetime 형식의 데이터를 다른 테이블의 datetime 열로 변경하는 방법
데이터예 :
2017-06-30 09:40:05.130,
2017-08-21 12:52:23.063000000,
26/4/2016 00:00:00,
5/4/2016 00:00:00
난 날짜 데이터 형식 다른 SQL 테이블 컬럼이 컬럼 (VARCHAR 데이터 유형)로부터 데이터를로드 할 필요가있다. 나는 다음과 같은 쿼리
Select
convert(datetime,convert(char(19),'2017-08-21 12:52:23.063000000'))
Select
convert(datetime,convert(char(19),'26/4/2016 00:00:00'),103)
아무도 나에게 다른 형식으로 날짜를 변환하는 일반적인 단일 쿼리를 도와 드릴까요 시도?
두 번째 항목이 흥미로운 형식으로되어 ... 심지어'DATETIME2'는 소수점지나 7 곳을 줄 것이다, 당신은 9 – Eli
가 얻을 수있는 방법이 없습니다 있습니다 모든 문자열에 대해 작동하는 실제 날짜 시간에 대한 날짜의 문자열 표현. 이것이 날짜가 문자열로 저장되어서는 안되는 이유 중 하나입니다. 당신은 아마도 이것을 그룹으로해야 할 것입니다. 하나의 형식에 맞는 것을 찾은 다음 변환 한 다음 다른 그룹을 하나씩 변환하십시오. 그러면 마지막 그룹이있게 될 것입니다 .... "나는 이것이 날짜가 아니기 때문에 이것을 어떻게 처리해야할지 모르겠다."그룹. –
기본적으로 서로 다른 소스 csv 파일에서 이러한 날짜를 얻고 있습니다. 처음에는 varchar datatype.then을 사용하여 스테이지 테이블에로드하고 datetime datatype의 다른 테이블을로드하려고 시도합니다. CSV 원본 파일은 각 파일마다 다른 형식을 사용하고 있습니다. – user6355550