在SQL Server中,時(shí)間戳通常是以整數(shù)型的方式存儲(chǔ)的,表示自1970年1月1日以來的秒數(shù)或毫秒數(shù)。要將時(shí)間戳轉(zhuǎn)換為日期,可以使用DATEADD
函數(shù)和CONVERT
函數(shù)來實(shí)現(xiàn)。
例如,如果時(shí)間戳是以秒為單位存儲(chǔ)的,可以使用以下SQL查詢來將時(shí)間戳轉(zhuǎn)換為日期:
DECLARE @timestamp bigint = 1610533800
SELECT DATEADD(SECOND, @timestamp, '19700101') AS Date
在上面的查詢中,DATEADD
函數(shù)將時(shí)間戳@timestamp
秒數(shù)添加到1970-01-01
的日期上,從而得到對(duì)應(yīng)的日期。
如果時(shí)間戳是以毫秒為單位存儲(chǔ)的,可以修改查詢?nèi)缦拢?/p>
DECLARE @timestamp bigint = 1610533800000
SELECT DATEADD(MILLISECOND, @timestamp, '19700101') AS Date
這樣就可以將時(shí)間戳轉(zhuǎn)換為日期。需要根據(jù)具體的時(shí)間戳存儲(chǔ)單位來選擇使用DATEADD
函數(shù)中的SECOND
或MILLISECOND
參數(shù)。