【发布时间】:2015-05-06 12:33:42
【问题描述】:
如何编写查询以获取SQL server 中今天的日期数据?
select * from tbl_name where date = <Todays_date>
【问题讨论】:
标签: sql sql-server current-time
如何编写查询以获取SQL server 中今天的日期数据?
select * from tbl_name where date = <Todays_date>
【问题讨论】:
标签: sql sql-server current-time
正确答案取决于您的datecolumn 的确切类型。假设它是Date 类型:
select * from tbl_name
where datecolumn = cast(getdate() as Date)
如果是DateTime:
select * from tbl_name
where cast(datecolumn as Date) = cast(getdate() as Date)
【讨论】:
似乎 Mitch Wheat 的答案不是 sargable,虽然我不确定这是不是真的。
请注意:LHS 上的 DATEDIFF()(或其他计算)是不可分割的,而 Cast(x to Date) 是不可分割的。
SELECT *
FROM tbl_name
WHERE date >= cast(getdate() as date)
and date < cast(getdate()+1 as date)
【讨论】:
select * from tbl_name where date = cast(getdate() as Date)
CAST 见 http://msdn.microsoft.com/en-us/library/ms187928.aspx 和 GETDATE() 见 https://msdn.microsoft.com/en-IN/library/ms188383.aspx
【讨论】:
select * from tbl_name where date(column_name) = CURDATE();
现在你可以得到今天插入的行
【讨论】: