我在其中一个表格中有这种格式2016-06-09 10:56:29.000
的日期字段。我想基于当前日期select
2016-06-09
记录select * from dbo.Accounts where createDate like CAST(GETDATE() as DATE)
。我正在尝试以下查询,但没有显示任何记录。
subscriber
我知道我在做错事。任何SQL专家,请帮助我。
答案 0 :(得分:3)
请勿使用like
。只需将值转换为日期:
select *
from dbo.Accounts
where cast(createDate as date) = CAST(GETDATE() as DATE);
like
是一个字符串函数。您应该使用date
函数比较日期,例如=
。如果使用like
,则使用任何有效的本地化参数将值隐式转换为字符串。