首页 > 解决方案 > SQL Server - 从旧数据库转换短日期

问题描述

我有旧的 DBF 数据库,其中包含旧的 6 位格式的日期,例如291292or150793甚至010302.

我将表导入 SQL Server,现在我需要将其转换为datetime格式。

当然必须先转换成类似的字符串29.12.1992, 15.07.1993, 01.03.2002

标签: sql-servertsqldatetype-conversion

解决方案


你可以试试这个。

    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) 

推荐阅读