如何将几天转换成几周又几天

时间:2018-12-12 18:42:09

标签: sql sql-server datediff modulo

我的日期范围是2016年7月1日至2016年7月10日。我想提取周数,而剩余天数在该范围之内,例如

不。的周数= 1

不。剩余天数= 3

所以对于这种情况,我想看到的答案是1.3 我知道如何使用来查找天或周差异

DATEDIFF(DAY,@ArrivalDate,@DepartureDate)
DATEDIFF(WEEK,@ArrivalDate,@DepartureDate)

但是如何查找和获取日期是否仅包含完整的Weeks或Weeks and Days。

我们将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:1)

示例:

  • (天/ 7)以周为单位(获取整数结果,因此它始终是整数)
  • Modulus(以天% 7为天)(让您获得一周的剩余天数)

SELECT datediff(DAY,@ArrivalDate,@Departure) / 7 as weeks
     , datediff(DAY,@ArrivalDate,@Departure) % 7 as days

DEMO