SQL-将长整数转换为日期时间

Sea*_*ean 4 sql t-sql

我有一个具有以下长整数格式的日期的数据库:

20100101000000

当天时间是2010年1月1日,00:00:00。

我希望能够将其转换为普通的SQL Datetime语法并返回。这可能吗?我只能做到这一点:

SELECT CAST(CURRENT_TIMESTAMP as int);
Run Code Online (Sandbox Code Playgroud)

它返回“ 40556”-不完全是Im之后的内容。

And*_*mar 5

您可以substring用来将字符串转换为yyyy-MM-dd HH:mm:ss符号,然后将其转换为datetime

select  convert(datetime, 
            substring(sub.Dt,1,4) + '-' + 
            substring(sub.Dt,5,2) + '-' + 
            substring(sub.Dt,7,2) + ' ' +
            substring(sub.Dt,9,2) + ':' + 
            substring(sub.Dt,11,2) + ':' + 
            substring(sub.Dt,13,2))
from    (
        select  '20100101000000' as Dt
        ) sub
Run Code Online (Sandbox Code Playgroud)