我有一个包含日期的表,我试图检查我的日期是否介于表中的日期之间。我的查询正在运行,但未返回任何内容。似乎应该很简单,但是我无法将其包裹住。
SQL查询如下:
SELECT id FROM table
WHERE
(this_date) between (beginning_date_from_table) and (end_date_from_table)
日期是在脚本中动态生成的,因此我可以确定要传递的日期是否在表的开始日期和结束日期之间。我不需要表中的任何特定数据,只需一个布尔值即可告诉我日期是否在开始日期和结束日期之间。
答案 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)
答案 2 :(得分:0)
我说的问题有点错误,因为我试图返回条件条件的结果。一旦意识到如何向Google提出正确的要求,我便迅速提出了以下解决方案:
SELECT (CASE WHEN this_date BETWEEN beginning_date AND end_date THEN 1 ELSE 0 END) AS date_result
感谢其他回答的人,您的意见使我的想法正确无误。