我有一個SQL查詢將我的數據庫中的日期/時間戳列從UNIX時間戳轉換爲可讀格式。這給了我一個很好的可讀格式,但我想刪除實際的時間戳,並只保留日期..因爲我試圖計數和分組的所有日期只。轉換Unix時間戳iinto YYYYMMDD
SELECT DATEADD(ss,msg.timestamp/1000,'01/01/1970')As DateTime
FROM dbo.cp_messages msg
結果目前看起來是這樣的:
2005-10-26 11:12:36.000
但我想:
2005-10-26
如何退出的時間。
評論有幫助,但我如何搜索日期之間現在我已經將unix時間轉換爲正確的格式..我已經嘗試了下面,但每次都得到錯誤。
SELECT COUNT(msg.messageId)
,CONVERT(VARCHAR(10), DATEADD(ss, msg.[timestamp]/1000, '01/01/1970'), 120)
FROM dbo.cp_messages msg
WHERE timestamp >= DATEADD(DAY, -2, GETDATE())
GROUP BY timestamp
我似乎與每個實例的計數結束了,但我後是這一天的總計數..
如
1 2015-10-29
1 2015-10-29
1 2015-10-29
當我想
3 2015-10-29
不知道如何得到期望的結果
的[?我如何轉換BIGINT(UNIX時間戳),在SQL Server日期時間]可能的複製(http://stackoverflow.com/questions/2904256/how-can-i-convert-bigint-unix -timestamp-datetime-in-sql-server) – Ben
除了答案之外,如果未在YYYY-MM-DD格式中指定,請注意日期格式,因爲10-01-1970可以是10月1日或10月1日!在導入數據之前,請檢查SET DATEFORMAT DMY以強制使用日期格式。 –