Ale*_*lex 18 sql t-sql datetime sql-server-2005
我想从一个表Log中选择所有记录,其中DateAndTime字段值(类型datetime)是今天的前一天,无论它是什么日子.
因此,如果今天是2011-06-08,我想选择DateAndTime大于或等于2011-06-07 00:00:00且小于的所有行2011-06-08 00:00:00.
我猜这里潜在的陷阱就是它在本月的第一天的行为,因为显然这样的日期2011-06-00是无效的,应该是2011-05-31.
Mik*_*son 29
对于SQL Server 2008,您可以使用它.
select *
from [log]
where cast(DateAndTime as date) = cast(getdate()-1 as date)
Run Code Online (Sandbox Code Playgroud)
2008年之前你可以使用它
select *
from [log]
where DateAndTime >= dateadd(d, datediff(d, 0, getdate())-1, 0) and
DateAndTime < dateadd(d, datediff(d, 0, getdate()), 0)
Run Code Online (Sandbox Code Playgroud)
与DBA相关:Cast迄今为止是可以接受的,但这是一个好主意吗?
| 归档时间: |
|
| 查看次数: |
37067 次 |
| 最近记录: |