Sql server 是否将历元时间戳转换为无毫秒的日期时间?
首先,我知道有几个问题与此类似,但没有一个真正显示如何在不包含毫秒的情况下显示日期时间格式 我有以下代码:Sql server 是否将历元时间戳转换为无毫秒的日期时间?,sql-server,datetime,epoch,Sql Server,Datetime,Epoch,首先,我知道有几个问题与此类似,但没有一个真正显示如何在不包含毫秒的情况下显示日期时间格式 我有以下代码: SELECT CONVERT( DATETIME, dateadd(SS,CONVERT(INT, 1354320000), CAST('1970-01-01 00:00:00' as datetime)), 120 ) 但是,代码包含毫秒,但我需要的格式类似于yyyy-mm-dd hh:mm:ss 有人知道一种有效的方法吗?您可以尝试使用适当的数据类型。如中所述,DA
SELECT CONVERT(
DATETIME,
dateadd(SS,CONVERT(INT, 1354320000), CAST('1970-01-01 00:00:00' as datetime)),
120
)
但是,代码包含毫秒,但我需要的格式类似于yyyy-mm-dd hh:mm:ss
有人知道一种有效的方法吗?您可以尝试使用适当的数据类型。如中所述,
DATEADD()
的返回值数据类型是动态的,它取决于为date
参数提供的参数
SELECT DATEADD(
second,
CONVERT(int, 1354320201),
CAST('1970-01-01T00:00:00' AS datetime2(0))
)
结果:
2012-12-01 00:03:21
您可以尝试使用适当的数据类型。如中所述,
DATEADD()
的返回值数据类型是动态的,它取决于为date
参数提供的参数
SELECT DATEADD(
second,
CONVERT(int, 1354320201),
CAST('1970-01-01T00:00:00' AS datetime2(0))
)
结果:
2012-12-01 00:03:21
尝试小日期时间
SELECT CAST(DATEADD(SS,CONVERT(INT, 1354320000), CAST('1970-01-01 00:00:00' AS DATETIME))AS SMALLDATETIME)
另外,通过使用格式
SELECT FORMAT(DATEADD(SS,CONVERT(INT, 1354320000), CAST('1970-01-01 00:00:00' AS DATETIME)),'yyyy-MM-dd HH:mm:ss')
尝试小日期时间
SELECT CAST(DATEADD(SS,CONVERT(INT, 1354320000), CAST('1970-01-01 00:00:00' AS DATETIME))AS SMALLDATETIME)
另外,通过使用格式
SELECT FORMAT(DATEADD(SS,CONVERT(INT, 1354320000), CAST('1970-01-01 00:00:00' AS DATETIME)),'yyyy-MM-dd HH:mm:ss')
使用
datetime2(0)
代替datetime
也是一种选择。啊,宾果!,不知道我怎么会不去想那些。谢谢你,使用datetime2(0)
代替datetime
也是一个选项。啊,宾果!,不知道我怎么会不去想那些。谢谢各位