1

通常、から時間情報を削除する必要がありGETDATE()ます。信頼できる比較を行うために、日付情報のみを格納していることがわかっているいくつかの DateTime フィールドがあるため、これが必要です ( MyDate < GETDATE()) から時間情報を削除する必要がありますGETDATE())。もちろん、DATEデータ型を で使用することもできますMyDateが、これは新しいアプリケーションでは問題なく、レガシー アプリケーションでは問題ありません。

以前は でやっていましCASTたが、SQL Server 2008 にはDATEデータ型もあるので、読みやすいようです。

古いアプローチ

DECLARE @Today DateTime
SET @Today =  (CAST(FLOOR(CAST( GETDATE() AS FLOAT)) AS DATETIME))
select @Today

新しいアプローチ

DECLARE @TodayDate Date
Set @TodayDate = GETDATE()
select @TodayDate

2 番目のものを使用してもよいですか、それとも注意事項はありますか? (コルセの私は2008年のみを使用しています!)

4

1 に答える 1

1

注意事項はありません。実際、この回答によると、それが最良の方法です。

于 2011-04-27T12:12:27.320 に答える