问题描述
首先,我知道有几个与此类似的问题,但没有一个实际显示如何在不包括毫秒的情况下显示日期时间格式。
我在下面有这个代码:
SELECT CONVERT(
DATETIME,dateadd(SS,CONVERT(INT,1354320000),CAST('1970-01-01 00:00:00' as datetime)),120
)
但是,代码包括毫秒,但我需要格式像这样 yyyy-mm-dd hh:mm:ss
解决方法
您可以尝试使用适当的数据类型。如 documentation 中所述,DATEADD()
的返回值数据类型是动态的,它取决于为 date
参数提供的参数。
SELECT DATEADD(
second,CONVERT(int,1354320201),CAST('1970-01-01T00:00:00' AS datetime2(0))
)
结果:
2012-12-01 00:03:21
,
试试SMALL DATETIME
SELECT CAST(DATEADD(SS,CONVERT(INT,1354320000),CAST('1970-01-01 00:00:00' AS DATETIME))AS SMALLDATETIME)
另外,通过使用FORMAT
SELECT FORMAT(DATEADD(SS,CAST('1970-01-01 00:00:00' AS DATETIME)),'yyyy-MM-dd HH:mm:ss')