MySQL查询-在两个日期之间检查而无需检索行

时间:2019-03-08 23:49:53

标签: mysql select

我有一个包含日期的表,我试图检查我的日期是否介于表中的日期之间。我的查询正在运行,但未返回任何内容。似乎应该很简单,但是我无法将其包裹住。

SQL查询如下:

SELECT id FROM table
WHERE
(this_date) between (beginning_date_from_table) and (end_date_from_table)

日期是在脚本中动态生成的,因此我可以确定要传递的日期是否在表的开始日期和结束日期之间。我不需要表中的任何特定数据,只需一个布尔值即可告诉我日期是否在开始日期和结束日期之间。

3 个答案:

答案 0 :(得分:0)

您正在寻找EXISTS

SELECT 
  EXISTS(
    SELECT id FROM table 
  WHERE
    (this_date) between (beginning_date_from_table) and (end_date_from_table)
  ) AS hasValue

希望这会有所帮助

答案 1 :(得分:0)

检查MySQL服务器的日期格式和生成的日期格式。

MySQL日期格式如下:'2019-01-30 18:19:52'

还可以尝试更改

(beginning_date_from_table) and (end_date_from_table)

(end_date_from_table) and (beginning_date_from_table)

检查:How do I query between two dates using MySQL?

答案 2 :(得分:0)

我说的问题有点错误,因为我试图返回条件条件的结果。一旦意识到如何向Google提出正确的要求,我便迅速提出了以下解决方案:

SELECT (CASE WHEN this_date BETWEEN beginning_date AND end_date THEN 1 ELSE 0 END) AS date_result

感谢其他回答的人,您的意见使我的想法正确无误。