我有像这样的表数据
date time data
25/09/07 07:49:08 A
25/09/07 08:49:08 b
25/09/07 08:50:08 c
25/09/07 09:49:08 d
26/09/07 05:21:08 e
26/09/07 07:10:08 f
26/09/07 09:21:08 g
表sql中的格式日期为varchar
我想像这样显示表格
date time data
25/09/07 07:49:08 A
25/09/07 08:49:08 b
25/09/07 08:50:08 c
25/09/07 09:49:08 d
如何使用25/09/07 00:00:00和25/09/07 23:59:00之间的日期查询?
答案 0 :(得分:0)
这应该非常简单,因为你可以比较字符串:
SELECT *
FROM myTable
WHERE date = '25/09/07'
AND time <= '23:59:00'
由于您只是检查一个日期而不是范围,因此您只需使用字符串=
进行比较即可。具有不同日期的任何行都不相等。
由于时间安排为hh:MM:ss
的24小时格式,您可以进行词法比较。也就是说,例如,“23:58:03”将小于“23:59:00”,“02:03:59”也是如此。
要选择一系列日期,最简单的方法可能是:
SELECT *
FROM myTable
WHERE (CONVERT(datetime, date, 3) >= '2007-09-25'
AND CONVERT(datetime, date, 3) < '2007-10-25')
OR (CONVERT(datetime, date, 3) = '2007-10-25' AND time <= '23:59:00')
答案 1 :(得分:0)
在日期上使用'='运算符。您可能不需要包括时间。
SELECT *
FROM table1 t1
WHERE t1.date = '25/09/07'
干杯