【SQL Server】「DATETIME型のカラム」と「DATE型の変数」を使用して条件を絞る(比較する)場合の例

前提

・「DATETIME型のカラム」には「2020-02-26 00:05:19.903」が設定されている
・「DATE型の変数」には「2020-02-26」が設定されている

条件を絞る際に行うこと

・「DATETIME型のカラム」をDATE型へ型変換をする

サンプルプログラム

--全レコードを取得
SELECT *
  FROM [employee]

--DATE型変数に本日日付を設定 ※DATETIME型ではなく!
DECLARE
	@TODAY_DATE DATE

SET @TODAY_DATE = GETDATE()

--本日日付
SELECT @TODAY_DATE AS '本日日付'

--UPD_DATETIMEが本日日付のレコードのみ取得
SELECT *
  FROM [employee]
WHERE CONVERT(DATE,UPD_DATETIME) = @TODAY_DATE


--UPD_DATETIMEが本日日付の2日前以前のレコードのみ取得
SELECT *
  FROM [employee] 
WHERE CONVERT(DATE,UPD_DATETIME) < DATEADD(day,-2,@TODAY_DATE)

結果

タイトルとURLをコピーしました