【问题标题】:Is there any way to shorten this SQL Query有什么办法可以缩短这个 SQL 查询
【发布时间】:2021-08-20 17:25:58
【问题描述】:
SELECT * FROM userfeedback WHERE
    DATE LIKE '2020-07%' OR
    DATE LIKE '2020-08%' OR
    DATE LIKE '2020-09%' OR
    DATE LIKE '2020-10%' OR
    DATE LIKE '2020-11%' OR
    DATE LIKE '2020-12%' OR
    DATE LIKE '2021-01%' OR
    DATE LIKE '2021-02%' OR
    DATE LIKE '2021-03%' OR
    DATE LIKE '2021-04%' OR
    DATE LIKE '2021-05%' OR
    DATE LIKE '2021-06%';

注意:这里 DATE 是一个列名,其类型为 Timestamp

【问题讨论】:

  • DATE 列是存储为字符串还是正确的日期?您可以使用带有BETWEEN 的范围查询,如果您使用的是真实日期列。

标签: mysql sql database phpmyadmin xampp


【解决方案1】:

这是一种方法:

SELECT * FROM userfeedback 
WHERE DATE between '2020-07-01' and '2021-06-30'

旁注:日期是关键字,最好不要用作对象名称(clumn name等)

【讨论】:

    【解决方案2】:

    如果我理解正确,您希望检索 2020 年 7 月至 2021 年 6 月的所有数据。 由于您声明 DATE 数据类型是时间图,您可以执行以下操作:

    SELECT * 
    FROM userfeedback 
    WHERE 
      DATE >= '2020-07-01' AND
      DATE < '2021-07-01' 
    

    PS:我会避免使用 BETWEEN,因为在使用时间戳时会产生不希望的结果。

    【讨论】:

      猜你喜欢
      • 2022-01-05
      • 1970-01-01
      • 2023-02-06
      • 2012-01-24
      • 2023-04-10
      • 2022-11-28
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多