2012-05-22 7 views
5

1323648000はint(10)です。私はそれをある種の日付形式に変換できる必要があります。 dd/hh/yy hh:mm:ssのようなもの。私はここでいくつかの例を試してみましたが、うまくいかないようです。私はそれをvarchar(10)としてキャストしようとしましたが、何も変換しませんでした。 Excelは########を出力します。番号が間違っていますか? Unixスタイルのエポックベースのタイムスタンプのように見ているSQLをINTに変換する

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 
+0

RDBMSとは何ですか? MS SQL Serverのように見える... –

+0

はい、それはMS SQLサーバ – tiggles

答えて

5

、秒すなわち数1970

以来の変換は、RDBMS固有です。 SQLiteを使用すると、

select datetime(1323648000, 'unixepoch'); 

となり、2011-12-12 00:00:00(GMT)となります。

日時変換機能については、RDBMSのマニュアルを参照してください。

+0

あなたが正しかったことは、私が使用するUNIXタイムスタンプだった。。 ')UNIXTIME(engine4_openid_statusstats.openidstat_time FROM' とそれが働きました。ありがとう! – tiggles

1
TO_CHAR(column_name, 'DD/MM/YYYY hh:mm:ss') 
+0

あるdidntの仕事:( engine4_openid_statusstats.openidstat_id、 TO_CHAR varchar型AS(CAST(engine4_openid_statusstats.openidstat_time(10)、3)、「DD/MM/YYYYを選択HH:MM:SS')、 engine4_openid_services.openidservice_id、 engine4_openid_services.openidservice_name FROM engine4_openid_statusstats、 engine4_openid_services – tiggles

2

実際にEpoch Time(それはそうであるように見える)として保存されている場合、1970年1月1日からの秒数です。この日付に秒を追加することで、datetimeに変換できます。

SELECT DATEADD(SS, 1323648000, '01/01/1970')