sql - DB2 上周日到下周六的语句之间

标签 sql date db2 between

我很好奇为什么这不起作用:

SELECT *
FROM TABLE
WHERE DATE_TIME_COLUMN BETWEEN
    current date - int((dayofweek(current date))-1)
    AND
    current date + int(7-(dayofweek(current date)))

当这给了我我想要的东西时:

select current date - int((dayofweek(current date))-1) days from sysibm.sysdummy1)
select current date + int(7-(dayofweek(current date))) days from sysibm.sysdummy1)

以上两个将产生我希望特定日期时间列位于其间的正确日期。我在这里缺少什么?

最佳答案

SELECT *
FROM TABLE
WHERE DATE_TIME_COLUMN BETWEEN
current date - ((dayofweek(current date))-1) DAYS
AND
current date + (7-(dayofweek(current date))) DAYS

您必须表明您正在从当前日期减少 DAYS,如上所示。

关于sql - DB2 上周日到下周六的语句之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048311/

相关文章:

date - ElasticSearch日期格式,使用严格错误

javascript - js-在跨度类月份中将月份编号更改为char

java - DB2 : Grant all privileges to db2admin on the localhost database

mysql - 在 SQL 中连接第三个表

mysql - SQL Union 全部抛出 SQL 语法错误,但两个 SELECT 没有问题

php - 需要存储多个日期范围值并通过 sql 检索它们

sql - 每小时分组需要与前一小时数据相加并与 SQL Server 中的另一个字段相减

sql - 十进制字段在 IBM AS400 的窗口上显示负数

java - 使用 jdbc 的 DB2 SQL 异常代码 440

mysql - 如何在 DB2 中与其他 sql 一起运行脚本