データベースにdatetime
フィールドがあり、エポックからのミリ秒数を取得する必要があります。クライアント アプリケーションでそれを計算することはできますが、質問は、SQL サーバーからそれを取得する方法があるかどうかです。
私はこれを試しました:
select cast(dateField as bigint) from table where id = 0
...しかし、おそらく私が望むものではない5桁の数字を取得します。
それはまったく可能ですか?
データベースにdatetime
フィールドがあり、エポックからのミリ秒数を取得する必要があります。クライアント アプリケーションでそれを計算することはできますが、質問は、SQL サーバーからそれを取得する方法があるかどうかです。
私はこれを試しました:
select cast(dateField as bigint) from table where id = 0
...しかし、おそらく私が望むものではない5桁の数字を取得します。
それはまったく可能ですか?
select CONVERT (varchar(20), tdate,113) from tblTrainingMaster
それ以外の
select CONVERT (varchar(20), tdate,120) from tblTrainingMaster
私は試しました...キャスト(datefield as bigint)...しかし、5桁の数字を取得します
Sql Server は、日時を 8 バイトの float 値として格納します。ここで、整数部分は整数部分の日数で、小数部分は小数部分の日数です。整数型にキャストすると、ミリ秒ではなく日になります。
エポックからのミリ秒数を取得する必要があります
あなたのエポックは何ですか?Sql Server は 1900 年 1 月 1 日を使用します (これより前の日付には負の値が格納されます) が、多くの人は 1970 年 1 月 1 日を期待しています。
これらすべてを念頭に置いて、次のいずれかが必要です。
DATEDIFF(millisecond, '19700101', datefield)
DATEDIFF(millisecond, 0, datefield)
試す
id=0 の DATEPART(ms, datefield) FROM テーブルを選択