我正在尝试运行一个简单的查询,只选择在特定日期内收到的请求。
这就是我所拥有的:
select * from [Table Name] WHERE received_when(column name) like '2015-08-02%'
以下是我执行select * from [Table Name]
2015-08-02 22:33:11.337 2015-08-02 22:33:57.243 2015-08-02 22:49:49.617 2015-08-02 22:50:34.600 2015-08-02 22:50:52.493 2015-08-02 22:51:12.600 2015-08-02 22:51:35.007
我在其他表上多次使用过这个查询,但由于某种原因,这会返回0行。谢谢,Emley
答案 0 :(得分:0)
如果您的received_when
列是日期时间,那么您将无法使用LIKE
运算符对其进行可靠的查询。
试试这个
select * from [Table Name] WHERE received_when >= '2015-08-02' and received_when < '2015-08-03'
这将得到所有落在8-2-2015日期的所有内容
修改强>
答案 1 :(得分:0)
您没有指定received_when
的类型,但我猜测它是date
还是datetime
。将其作为varchar处理(例如,使用like
运算符)将隐式地将其转换为一个,并且您不应该依赖于您获得的格式。相反,您应明确转换它
SELECT *
FROM [Table Name]
WHERE CONVERT(VARCHAR, [received_when], 105) = '02-08-2015'