1. ホーム
  2. sql

[解決済み] MSSQLのGetDate()で日付だけを取得するには?重複

2023-06-26 14:29:11

質問

DELETE from Table WHERE Date > GETDATE();

GETDATE()は時刻を含みます。 代わりに

2011-01-26 14:58:21.637

どうすれば

2011-01-26 00:00:00.000

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

SQL Server に若干の偏りがある

概要

DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)

SQL Server 2008 は date 型がありますが。 ですから、単に

CAST(GETDATE() AS DATE)

編集:1日追加するには、"zero"の前日と比較してください。

DATEADD(day, DATEDIFF(day, -1, GETDATE()), 0)

cyberkiwiより。

2つの関数を使わない代替案としては、次のようなものがあります(+1 は括弧の中にも外にもあります)。

DATEDIFF(DAY, 0, GETDATE() +1)

DateDiff は数値を返しますが、この式を直接VARCHARに変換する場合を除いて、この式を使おうとしているところでは、あらゆる目的のためにこれは日付として動作します。

convert(varchar, GETDATE() +1, 102)