在遗留系统(SQL Server2005)中,我有一个将5位整数(即86340)存储为时间的列。旧版应用程序将86340显示为23:59:00。我不确定如何使用SQL将5位整数转换为date-time数据类型。
发布于 2018-09-06 02:55:15
由于您拥有的值是自午夜以来的秒数的整数表示形式,因此在SQL Server2005中有两个选择。您可以将值呈现为可读的VARCHAR
,也可以将其呈现为DATETIME
,它会附加日期信息,也可以从另一个字段中拉入日期,从而为您的值获取有意义的DATETIME
。
SELECT CONVERT(VARCHAR(12), DATEADD(SECOND, 86340, 0), 114) AS [InVarchar];
+--------------+
| InVarchar |
+--------------+
| 23:59:00:000 |
+--------------+
SELECT DATEADD(SECOND, 86340, 0) AS [InDatetime];
+-------------------------+
| InDatetime |
+-------------------------+
| 1900-01-01 23:59:00.000 |
+-------------------------+
SELECT DATEADD(SECOND, 86340, CAST('2018-09-05' AS DATETIME)) AS [InDatetimeWithDate];
+-------------------------+
| InDatetimeWithDate |
+-------------------------+
| 2018-09-05 23:59:00.000 |
+-------------------------+
发布于 2018-09-05 23:28:28
使用下面的查询:
SELECT CONVERT(DATETIME, @Column_Name)
FROM Table;
https://stackoverflow.com/questions/52188693
复制相似问题