将十进制格式化日期转换为sql中的日期

时间:2017-12-04 05:56:38

标签: sql sql-server sql-server-2008 datetime sql-server-2012

我想在sql中将十进制格式日期转换为正常日期格式。 以下是示例 - 我有十进制格式的日期,如'1512137620000',我想将其转换为正常的标准格式MM / DD / YYYY。 非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

根据您的基准日期以及您的十进制数表示的内容(毫秒,秒),您可以这样做:

SELECT DATEADD(MILLISECOND, 1512137620000, '19000101')

使用给定的十进制数,此语句将产生算术溢出(DATEADD的第二个参数是整数);我将十进制数除以1.000并尝试

SELECT DATEADD(SECOND, 1512137620, '19000101')

这导致1947-12-02 14:13:40.000所以我怀疑你的基准日期可能是19700101,那么结果将是2017-12-01 14:13:40.000。

然后转换为MM / DD / YYYY:

SELECT CONVERT(varchar(10), DATEADD(SECOND, 1512137620, '19700101'), 103)