0

我有这样的表格数据

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 之间的日期查询?

4

2 回答 2

0

这应该非常简单,因为您可以只比较字符串:

SELECT *
FROM myTable
WHERE date = '25/09/07'
AND time <= '23:59:00'
  • 由于您只是检查一个日期而不是一个范围,因此您可以只使用字符串=比较。任何具有不同日期的行都不相等。

  • 由于时间是 24 小时制安排的hh:MM:ss,你可以做一个词法比较。也就是说,例如,“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')
于 2013-04-01T01:12:57.983 回答
0

只需在日期上使用“=”运算符。您可能不需要包括时间。

SELECT *
FROM   table1 t1
WHERE  t1.date = '25/09/07'

干杯

于 2013-04-01T01:33:48.703 回答