【问题标题】:SQL compare using between for separated Date and Time ColumnSQL 比较使用 between 分隔日期和时间列
【发布时间】:2014-02-25 12:22:12
【问题描述】:

我有两列。

创建日期 ||已创建_TIME

我想编写一个查询来获取这些列之间的记录。 我写了下面的查询,但由于时间列而失败。

SELECT * 
  FROM TABLE 
 WHERE (CREATE_DATE BETWEEN '1982-10-21' AND '2015-02-25')
       `AND (CREATE_TIME BETWEEN '14:00:00' AND '15:00:00')

但是,如果 requested_start_date >= created_date 和 requested_end_date =

谢谢 问候

【问题讨论】:

  • 其实它失败了,因为FROM。你的FROM在哪里?
  • @Alexander 谢谢 :) 我修好了
  • 您会考虑将设计更改为 DATETIME 列吗?这将使这个案例和可证明的未来案例变得更加容易。从长远来看,将这些值保留在两列中是不好的做法。
  • 不清楚,您要选择哪些行。更详细地描述。
  • @Ziouas 你不知道用例。在两列中分隔日期和时间可能非常有意义。

标签: mysql sql datetime


【解决方案1】:

从表中选择 * 其中 CAST(CREATE_TIME 作为时间) >= '14:00:00' 或 CAST(CREATE_TIME 作为时间)

【讨论】:

  • 亲爱的@neel shah 谢谢你,但是日期栏怎么样
  • 按你现在的方式试试 'where Date AND Time'
  • @WinstonSmith 再次详细描述应该选择哪些行。可能有多个答案,除了这里的 neel shah 没有人有心情猜测。
  • @fancyPants 是这样想的:created_date (yyyy.MM.dd HH:mm:ss) 只有 1 列,我的客户向我发送了两个日期(开始和结束)我的客户请求的记录created_date 介于开始日期和结束日期之间。但我必须将日期记录保存在两列(日期+时间)我希望现在很清楚
猜你喜欢
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 2014-09-11
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
相关资源
最近更新 更多