[英]SQL convert INT to datetime
我有1323648000,這是int(10)。 我需要能夠將其轉換為某種日期格式。 像dd / hh / yy hh:mm:ss。 我在這里嘗試了幾個例子,但我似乎無法讓它工作。 我試圖把它作為varchar(10)投射並轉換但沒有。 Excel還輸出########。 這個數字不正確嗎?
SELECT
engine4_openid_statusstats.openidstat_id,
CONVERT(datetime,CAST(engine4_openid_statusstats.openidstat_time AS varchar(10),3),
engine4_openid_services.openidservice_id,
engine4_openid_services.openidservice_name
FROM
engine4_openid_statusstats ,
engine4_openid_services
這看起來像一個基於Unix風格的基於紀元的時間戳,即自1970年以來的秒數。
轉換是特定於RDBMS的。 使用SQLITE,你可以做到
select datetime( 1323648000, 'unixepoch' );
並產生2011-12-12 00:00:00(格林威治標准時間)。
檢查RDBMS文檔以獲取日期時轉換功能。
如果確實存儲為Epoch Time(它看起來像是),那么這些是自1970年1月1日以來的秒數。您可以通過將秒添加到此日期將其轉換為日期時間。
SELECT DATEADD(SS, 1323648000, '01/01/1970')
TO_CHAR(column_name, 'DD/MM/YYYY hh:mm:ss')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.