我正在尝试在接受许多可选字段的 COBOL DB2 中编写 SQL 语句。
到目前为止,我已经设法通过使用以下代码使 VALID-FROM-DATE 和 VALID-TO-DATE 和 SYSTEM-ID 成为可选。
MOVE A-CURRENT-TIMESTAMP(1:10)
TO A-VALID-FROM-DATE
MOVE A-CURRENT-TIMESTAMP(1:10)
TO A-VALID-TO-DATE
MOVE 0
TO A-SYSTEM-ID-FROM
MOVE 999
TO A-SYSTEM-ID-TO
但现在我想将第四个字段设为可选,并将其设为 char 字段。
我尝试了以下方法 - 它在我的 SQL-Wizard 中有效,但在我运行程序时无效:
MOVE '%'
TO A-NAME
在以下 DB2 SQL 语句中:
SELECT
COALESCE(NAME,' ')
,SYSTEM_ID
,COALESCE(VALUE_DATE,'0001-01-01')
FROM TABLE
WHERE
NAME LIKE :A-NAME
AND SYSTEM_ID BETWEEN :A-SYSTEM-ID-FROM
AND :A-SYSTEM-ID-TO
AND VALUE_DATE BETWEEN :A-VALID-FROM-DATE
AND :A-VALID-TO-DATE
ORDER BY VALUE_DATE
有任何想法吗?