如何在sql server中获取当前/今天的日期数据

kri*_*han 3 sql sql-server current-time

如何编写查询以获取今天的日期数据SQL server

select * from tbl_name where date = <Todays_date>
Run Code Online (Sandbox Code Playgroud)

Mit*_*eat 17

正确答案取决于您的确切类型datecolumn.假设它是类型Date:

select * from tbl_name 
where datecolumn = cast(getdate() as Date)
Run Code Online (Sandbox Code Playgroud)

如果是DateTime:

select * from tbl_name 
where cast(datecolumn as Date) = cast(getdate() as Date)
Run Code Online (Sandbox Code Playgroud)


t-c*_*.dk 6

似乎 Mitch Wheat 的回答不是sargable,虽然我不确定这是真的。

请注意:DATEDIFF()LHS 上的a (或其他计算)不是 Sargable,而原样Cast(x to Date)

SELECT * 
FROM tbl_name 
WHERE date >= cast(getdate() as date)
and date < cast(getdate()+1 as date)
Run Code Online (Sandbox Code Playgroud)