【问题标题】:How to get number of Modays,Tuesdays ,etc between two date如何获取两个日期之间的星期一,星期二等
【发布时间】:2015-06-16 20:08:13
【问题描述】:

大家好,我正在尝试使用算法 how to calculate the number of Tuesdays between two dates in TSQL 来计算两个日期之间出现的天数。

我只是用我的日期替换了一些参数,但出现语法错误。我尝试删除 datetime 以使用 date 但仍然出现错误

select 

datediff(day, -7, DATETIME('2015-06-30'))/7-datediff(day, -6,   DATETIME('2015-05-28'))/7 AS MON,

datediff(day, -6, DATETIME('2015-06-30'))/7-datediff(day, -5,DATETIME('2015-05-28'))/7 AS TUE,
datediff(day, -5,DATETIME('2015-06-30'))/7-datediff(day, -4, DATETIME('2015-05-28'))/7 AS WED,
datediff(day, -4, DATETIME('2015-06-30'))/7-datediff(day, -3, DATETIME('2015-05-28'))/7 AS THU,
datediff(day, -3,DATETIME('2015-06-30'))/7-datediff(day, -2,DATETIME('2015-05-28'))/7 AS FRI,
datediff(day, -2, DATETIME('2015-06-30'))/7-datediff(day, -1,DATETIME('2015-05-28'))/7 AS SAT,
datediff(day, -1,DATETIME('2015-06-30'))/7-datediff(day, 0, DATETIME('2015-05-28'))/7 AS SUN

【问题讨论】:

  • 您不能在mysql 中使用datediff(day, count, date),就像documentation 一样。 mysql 仅支持 datediff(date, date)
  • 请您确认您使用的是 MySQL 还是 T-SQL (通常是 Microsoft SQL-Server)?此外,在完整的 SQL 语句中提供实际的错误消息通常会很有帮助。
  • 这太奇怪了,我整天都得到-9.4286,你知道这是怎么回事吗?

标签: mysql sql


【解决方案1】:

您使用了错误的转换语法

我将您的 Sql 查询修改为如下

select datediff(day, -7, CONVERT(DATETIME,'2015-06-30'))/7-datediff(day, -6,  CONVERT(DATETIME,'2015-05-28'))/7 AS MON,
datediff(day, -6, CONVERT(DATETIME,'2015-06-30'))/7-datediff(day, -5,CONVERT(DATETIME,'2015-05-28'))/7 AS TUE,
datediff(day, -5,CONVERT(DATETIME,'2015-06-30'))/7-datediff(day, -4, CONVERT(DATETIME,'2015-05-28'))/7 AS WED,
datediff(day, -4, CONVERT(DATETIME,'2015-06-30'))/7-datediff(day, -3,CONVERT(DATETIME,'2015-05-28'))/7 AS THU,
datediff(day, -3,CONVERT(DATETIME,'2015-06-30'))/7-datediff(day, -2,CONVERT(DATETIME,'2015-05-28'))/7 AS FRI,
datediff(day, -2, CONVERT(DATETIME,'2015-06-30'))/7-datediff(day, -1,CONVERT(DATETIME,'2015-05-28'))/7 AS SAT,
datediff(day, -1,CONVERT(DATETIME,'2015-06-30'))/7-datediff(day, 0, CONVERT(DATETIME,'2015-05-28'))/7 AS SUN

谢谢

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多