DB2 for IBM i (iSeries) 日期 - 需要比较(当前日期 - 1)
DB2 for IBM i (iSeries) Date - Need to Compare (Current Date - 1)
我是 DB2 for IBM i (iSeries) 语法的新手。为了审计目的,我想将 table 中的日期字段与昨天的日期(当前日期 - 1)进行比较。但是,我无法让它工作。我收到“[SQL0182] 日期、时间或时间戳表达式无效”错误。任何帮助是极大的赞赏。请参阅下面的代码。
SELECT DECIMAL_FIELD
FROM SCHEMA.TABLE
WHERE DATE(INSERT(INSERT(DIGITS(DECIMAL_FIELD), 5, 0, '-'), 8, 0, '-')) > DATE(VARCHAR_FORMAT(TIMESTAMP_ISO(CURRENT DATE), 'YYYY-MM-DD')) - 1
AND DECIMAL_FIELD <> 0
指定持续时间。
SELECT DECIMAL_FIELD
FROM SCHEMA.TABLE
WHERE DATE(INSERT(INSERT(DIGITS(DECIMAL_FIELD), 5, 0, '-'), 8, 0, '-')) >
DATE(VARCHAR_FORMAT(TIMESTAMP_ISO(CURRENT DATE), 'YYYY-MM-DD')) - 1 DAY
AND DECIMAL_FIELD <> 0
也可以简化比较:
SELECT DECIMAL_FIELD
FROM SCHEMA.TABLE
WHERE DATE(INSERT(INSERT(DIGITS(DECIMAL_FIELD), 5, 0, '-'), 8, 0, '-')) >
CURRENT_DATE - 1 DAY
AND DECIMAL_FIELD <> 0
我是 DB2 for IBM i (iSeries) 语法的新手。为了审计目的,我想将 table 中的日期字段与昨天的日期(当前日期 - 1)进行比较。但是,我无法让它工作。我收到“[SQL0182] 日期、时间或时间戳表达式无效”错误。任何帮助是极大的赞赏。请参阅下面的代码。
SELECT DECIMAL_FIELD
FROM SCHEMA.TABLE
WHERE DATE(INSERT(INSERT(DIGITS(DECIMAL_FIELD), 5, 0, '-'), 8, 0, '-')) > DATE(VARCHAR_FORMAT(TIMESTAMP_ISO(CURRENT DATE), 'YYYY-MM-DD')) - 1
AND DECIMAL_FIELD <> 0
指定持续时间。
SELECT DECIMAL_FIELD
FROM SCHEMA.TABLE
WHERE DATE(INSERT(INSERT(DIGITS(DECIMAL_FIELD), 5, 0, '-'), 8, 0, '-')) >
DATE(VARCHAR_FORMAT(TIMESTAMP_ISO(CURRENT DATE), 'YYYY-MM-DD')) - 1 DAY
AND DECIMAL_FIELD <> 0
也可以简化比较:
SELECT DECIMAL_FIELD
FROM SCHEMA.TABLE
WHERE DATE(INSERT(INSERT(DIGITS(DECIMAL_FIELD), 5, 0, '-'), 8, 0, '-')) >
CURRENT_DATE - 1 DAY
AND DECIMAL_FIELD <> 0