0

私はMSウェブマトリックスとかみそりを使用しています。

CAST(GetDate() as INT)式を使用して現在の日付の整数値を取得するクエリがあります。ただし、サーバーとPCの両方がGMT + 12(オークランド、ウェリントン)に設定されていても、返される値は12時間で、PC(およびサーバー)の午後12時になると1日先にジャンプします。

マシンで12時間間違った時間を設定せずに、値から12時間をトリミングするにはどうすればよいですか?

助けてくれてありがとう。

4

1 に答える 1

2

日付をINTに直接強制することは、まったく間違っているように見えます。

日付のINTEGRAL値だけを正しく取得するには、DATEDIFFを直接使用します。

select cast(cast('20120301' as datetime) as int) -- 40967
select cast(cast('20120301 12:30' as datetime) as int) -- 40968, oh noes!
select datediff(d,0,'20120301') -- 40967
select datediff(d,0,'20120301 12:30') -- 40967, yes!
于 2012-10-16T01:47:43.703 に答える