1. ホーム
  2. sql

[解決済み] bigintをdatetimeに変換する

2022-02-18 13:41:25

質問

bigintからdatetimeに値を変換したい。

例えば、私が読み込んでいるのは ヒストリー の表 teamcityサーバー . フィールド上 ビルドスタートタイムサーバー 私は1つのレコードにこの値を持っている1283174502729。

この値をdatetimeの値に変換するにはどうすればよいですか?

どのように解決するのですか?

これはあなたのために動作しますか?SQL Server 2005で現在30-8-2010 13:21:42を返しています。

select dateadd(s, convert(bigint, 1283174502729) / 1000, convert(datetime, '1-1-1970 00:00:00'))

1000で割っているのは、dateadd関数がそんなに大きな数字では動かないからです。そのため、精度は少し落ちますが、使い方はずっとシンプルです。