sql - 比较 SQL Server 2008 中的转换日期

标签 sql sql-server-2008

我正在尝试比较日期。 < 的比较工作正常和 >标志,但当我使用 =它返回零行。查询如下:

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

"=" 中的这个查询有什么问题|案例?`

最佳答案

更改您的 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 进行精确比较,则为时间。

关于sql - 比较 SQL Server 2008 中的转换日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22471476/

相关文章:

mysql - 您将如何创建服装尺码数据库结构?

sql - 为什么这个 MySQL 更新会永远持续?

sql-server - 没有 TempTable 的 T-SQL SELECT 随机 varchar 值

SQL Server - 更改日期格式

sql-server - 如何在 SQL Server 2008 中将多行连接成一个字符串?

sql - 优化使用多个 SELECT 语句并返回一个结果集的 SQL 查询

mysql - 我应该索引什么?用户名还是用户 ID?

sql - 如何从另一台计算机连接到 SQL Server?

sql - 如果两个模式中存在名称相似的表,则删除表

mysql - 从mysql数据库表中同时进行多个选择