将float转换为datetime时出现算术溢出错误(SQL Server 2014)

时间:2016-11-16 15:52:49

标签: sql sql-server sql-server-2014

我有一个日期为float数据类型的列。它们采用YYYYMMDD格式。我需要将这些日期更改回日期时间格式。

我尝试了以下操作:

Select top 1 Date_col,CAST(FLOOR((CAST(Date_col AS numeric(10,10)))) AS DATETIME)  from dbo.table_2016

我只需要转换数据类型,但如果可能的话我想保留格式。

1 个答案:

答案 0 :(得分:1)

试试这个:

select
    DATEFROMPARTS(  
        left(convert(char(8), convert(integer, Date_Col)), 4),
        substring(convert(char(8), convert(integer, Date_Col)), 5, 2),
        substring(convert(char(8), convert(integer, Date_Col)), 7, 2))
from
    table_2016;