SQL Server 2008では、新しいDATE
が作成されます。 これを実現するために使用できるデータ型:
SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
CAST(GETDATE() AS DATE)
現在の日付と時刻を日付のみの値にキャストします。例: 2010年4月6日の「2010-04-06」を返します。それに1日を追加すると、基本的に今日のすべての日時値が選択されます。
SQL Server 2005では、これを行う簡単な方法はありません。ここで見つけた最も洗練されたソリューションは、DATETIMEの数値操作を使用して同じ結果を達成することです。
SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME) AND
DATEADD(DAY, 1, CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))