SQL Server - конвертировать короткую дату из старой базы данных - PullRequest
0 голосов
/ 18 марта 2019

У меня есть старая база данных DBF, которая содержит дату в старых 6-значных форматах, таких как 291292 или 150793 или даже 010302.

Я импортирую таблицы в SQL Server, и теперь мне нужно преобразовать их в формат datetime.

Конечно, сначала необходимо преобразовать в похожие строки 29.12.1992, 15.07.1993, 01.03.2002.

Ответы [ 3 ]

1 голос
/ 18 марта 2019

Вы можете попробовать это.

    GO
    declare @date date
    set @date = '901124'
    select CONVERT(varchar(10), @date, 102) as [Date]   --- for yyyy.MM.dd format

ПОПРОБУЙТЕ

    declare @dd varchar(10)
    set @dd = '201292'

    select CONVERT(VARCHAR(10), @dd, 2),   CONVERT(VARCHAR(10), GETDATE(), 2) 
    , (SUBSTRING(@dd, 5,2) +  SUBSTRING(@dd, 3,2)  + SUBSTRING(@dd, 1,2))
    ,   CONVERT(varchar(10), cast((SUBSTRING(@dd, 5,2) +  SUBSTRING(@dd, 3,2)  + SUBSTRING(@dd, 1,2)) as DATE) , 102) 
0 голосов
/ 18 марта 2019
     declare @date date = '901124'   
   select CONVERT(date, @date) as [Date]  

enter image description here

0 голосов
/ 18 марта 2019

Хорошо, это довольно просто:

GO
    declare @date varchar(6)
    set @date = '241190'
    select CONVERT(date, concat(SUBSTRING(@date, 5,2),SUBSTRING(@date, 3,2),SUBSTRING(@date, 1,2)), 101) as [Date] 

результат равен 1990-11-24

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...