【问题标题】:wrong date range is listed列出了错误的日期范围
【发布时间】:2019-11-23 20:40:28
【问题描述】:

除了您认为我提供的日期范围之外,我该如何帮助您解决?

7月1日-7月12日之间未列出

https://i.hizliresim.com/od7YzX.jpg

SELECT DISTINCT 
                         s.A, CONVERT(varchar, d.timein, 104) AS G
FROM            DATABASE.table1 AS a INNER JOIN
                         DATABASE.table2 AS b ON a.x = b.y INNER JOIN
                         DATABASE.dbo.table3 AS c ON b.b = c.d INNER JOIN
                         DATABASE.dbo.table4 AS e ON c.f = e.r INNER JOIN
                         DATABASE.table5 AS d ON e.t = d.u INNER JOIN
                         DATABASE.table6 AS s ON a.fr = s.rf INNER JOIN
                         DATABASE.table7 AS si ON d.er = si.pr INNER JOIN
                         DATABASE.table8 AS i ON si.dd = i.gt INNER JOIN
                         DATABASE.table9 AS ck ON s.mkk = ck.pxx
WHERE         (CONVERT(varchar, d.timein, 104) BETWEEN '01.07.2019' AND '12.07.2019')

【问题讨论】:

  • 无法理解你的问题,兄弟
  • 带 O/p 的示例输入数据会有所帮助
  • 日期超出了我的日期范围
  • 示例'01.05.2019'
  • 因为我想列出 BETWEEN '01.07.2019' AND '12.07.2019'

标签: sql datetime time


【解决方案1】:

尝试使用日期格式为 'yyyy-MM-dd'

BETWEEN '2019-07-01' AND '2019-07-12'

【讨论】:

    【解决方案2】:

    不要比较字符串日期,而是比较日期。

    WHERE d.timein BETWEEN '2019-07-01' AND '2019-07-12'
    

    请注意,这将返回2019-07-01 00:00:002019-07-12 00:00:00 之间的日期,因此您可能需要使用2019-07-132019-07-12 23:59:59

    比较字符串时,它会从左到右比较字符,例如10.12.2018 介于01.07.201912.07.2019 之间,因为10 介于0112 之间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2014-01-07
      • 2021-07-01
      • 2021-08-15
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多