0

MS SQL Severを使用していて、「今日の」レジスタのみでクエリをフィルタリングしたい。例

select * from tbl where [FieldDate] >= "Today Date"

私は次のようなものを使用できることを知っています:

[FieldDate] >= DATEADD(DAY, 0, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP))

また

[FieldDate] >= CAST(FLOOR( CAST( GETDATE() AS FLOAT))AS DATETIME)

しかし、それを行うための最良の方法は何ですか?、どうもありがとう。

注:「convert(date、getdate())」は使用できません。

4

2 に答える 2

3

これは機能するはずです:

SELECT * 
FROM tbl 
WHERE [FieldDate] >= CONVERT(DATE,GETDATE()) 
AND [FieldDate] < CONVERT(DATE,DATEADD(DAY,1,GETDATE()))

SQL Server 2005の場合:

SELECT * 
FROM tbl 
WHERE [FieldDate] >= CONVERT(VARCHAR(8),GETDATE(),112) 
AND [FieldDate] < CONVERT(VARCHAR(8),DATEADD(DAY,1,GETDATE()),112)
于 2013-01-21T18:16:10.443 に答える
1

試す

SELECT * 
FROM tbl 
WHERE DATEDIFF(DD, [FieldDate], getdate()) = 0
于 2013-01-21T18:21:00.223 に答える