簡體   English   中英

SQL將INT轉換為datetime

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM