Sql server 2008 如何将日期转换为整数格式?

Sql server 2008 如何将日期转换为整数格式?,sql-server-2008,tsql,datetime,sql-server-2008-r2,date-conversion,Sql Server 2008,Tsql,Datetime,Sql Server 2008 R2,Date Conversion,我有一个列,上面有日期和时间。我需要将该列转换为整数格式,如下所示。我试过了 SELECT CAST(SUBSTRING(CAST(CAST(date AS DATETIME) AS BINARY(8)),1,4) AS INT) as Rowdate FROM Spend 但我没有得到下面的格式。你们能帮帮我吗 日期: 行日期: 2012091116 2012091116 2012091116 2012091116 2012091116 2012091116 201209111

我有一个列,上面有日期和时间。我需要将该列转换为整数格式,如下所示。我试过了

SELECT 
    CAST(SUBSTRING(CAST(CAST(date  AS DATETIME) AS BINARY(8)),1,4) AS INT) as Rowdate 
FROM Spend
但我没有得到下面的格式。你们能帮帮我吗

日期:

行日期:

2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
2012091116
我添加了这个16,因为它显示在您的desire输出中,但是如果您只需要带有“YYYYMMDD”的部件,那么下面的代码就可以完成这项工作

SELECT CONVERT(VARCHAR(8), ColumnName ,112)
FROM Table_Name
结果

2014030416
2014030316
2014030116
20140304
20140303
20140301

好的,我得到了
20120911
部分,但为什么是
16
?,列的数据类型是
DATETIME
?@Lamak:是的,DATETIME是数据类型。我不太清楚,但至少到20120911为止似乎是好的。
SELECT CONVERT(VARCHAR(8), ColumnName ,112)
FROM Table_Name
20140304
20140303
20140301