我想比较日期。比较与<
和>
符号一致正常,但当我使用=
时返回零行。查询如下:
SET DateFormat DMY
SELECT * FROM [Users]
where name like '%' + replace('', '%', '[%]') + '%'
and email like '%' + replace('', '%', '[%]') + '%'
and last_edited = CAST('18/3/2014' AS DATETIME)
ORDER BY CONVERT(DateTime, Last_edited,101) desc
"="
案例中的这个查询出了什么问题?`
答案 0 :(得分:1)
更改您的where子句以删除时间部分:
DATEADD(dd, DATEDIFF(dd, 0, [last_edited]), 0) = CAST('18/3/2014' AS DATETIME)
根据列名称,我假设[last_edited]
的值为2014-03-18 17:50:08.000
,因此如果您想与18/3/2014
进行精确比较,则需要删除时间。
答案 1 :(得分:1)
试试这个
SET DateFormat DMY
SELECT * FROM [Users]
where name like '%' + replace('', '%', '[%]') + '%'
and email like '%' + replace('', '%', '[%]') + '%'
and convert(varchar(25),last_edited, 101) = '03/18/2014'
ORDER BY CONVERT(DateTime, Last_edited,101) desc