7

私はint(10)である1323648000を持っています。ある種の日付形式に変換できる必要があります。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
4

3 に答える 3

5

これは、Unixスタイルのエポックベースのタイムスタンプ、つまり1970年からの秒数のように見えます。

変換はRDBMS固有です。SQLITEを使用すると、

select datetime( 1323648000, 'unixepoch' );

そしてそれは2011-12-1200:00:00(GMT)をもたらします。

日時変換関数については、RDBMSのドキュメントを確認してください。

于 2012-05-22T18:56:42.783 に答える
3

それが実際にエポックタイムとして保存されている場合(それがそうであるように見えます)、それらは1970年1月1日からの秒数です。この日付に秒を追加することで日時に変換できます。

SELECT DATEADD(SS, 1323648000, '01/01/1970')
于 2012-05-22T19:04:35.357 に答える
1
TO_CHAR(column_name, 'DD/MM/YYYY hh:mm:ss')
于 2012-05-22T18:55:10.950 に答える