0

データベースにdatetimeフィールドがあり、エポックからのミリ秒数を取得する必要があります。クライアント アプリケーションでそれを計算することはできますが、質問は、SQL サーバーからそれを取得する方法があるかどうかです。

私はこれを試しました:

select cast(dateField as bigint) from table where id = 0

...しかし、おそらく私が望むものではない5桁の数字を取得します。

それはまったく可能ですか?

4

4 に答える 4

0
select CONVERT (varchar(20), tdate,113) from tblTrainingMaster 

それ以外の

 select CONVERT (varchar(20), tdate,120) from tblTrainingMaster 
于 2013-11-14T15:08:16.873 に答える
0

私は試しました...キャスト(datefield as bigint)...しかし、5桁の数字を取得します

Sql Server は、日時を 8 バイトの float 値として格納します。ここで、整数部分は整数部分の日数で、小数部分は小数部分の日数です。整数型にキャストすると、ミリ秒ではなく日になります。

エポックからのミリ秒数を取得する必要があります

あなたのエポックは何ですか?Sql Server は 1900 年 1 月 1 日を使用します (これより前の日付には負の値が格納されます) が、多くの人は 1970 年 1 月 1 日を期待しています。

これらすべてを念頭に置いて、次のいずれかが必要です。

DATEDIFF(millisecond, '19700101', datefield)
DATEDIFF(millisecond, 0, datefield)
于 2013-11-14T15:02:25.277 に答える
0

試す

id=0 の DATEPART(ms, datefield) FROM テーブルを選択

http://msdn.microsoft.com/en-us/library/ms174420.aspx

于 2013-11-14T14:56:18.457 に答える