クエリが期待する行を返さない理由は、GETDATE()がクエリが実行された時点の日付と時刻の部分を返すためです。 DateCreated
の値 列は時間部分と一致しないため、行は返されません。
日付コンポーネントのみに基づいて日付を評価するようにクエリを作成するには、さまざまな方法があります。 1つの例を次に示します。
WHERE YEAR(datecreated) = YEAR(GETDATE())
AND MONTH(datecreated) = MONTH(GETDATE())
AND DAY(datecreated) = DAY(GETDATE())
残念ながら、列の関数を使用するクエリは、列にインデックスが存在する場合は使用できないことを意味します。