0
我想在COBOL DB2中編寫一個SQL語句,它接受大量的可選字段。COBOL中的可選字段DB2
到目前爲止,我已經設法通過使用下面的代碼使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
但是現在我想創建第四個字段可選和它的字符字段。
我試過下面 - 它的作品在我的SQL-嚮導但不是當我運行程序:
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
任何想法?
一個方面,你可以使用「MOVE ALL'%'TO A-NAME」在源字段是文字的情況下完成同樣的事情。 – 2012-08-30 14:09:17
是的,使用ALL'%'將使編譯器計算所需的%-signs數量,因此在使用文字時總是更準確的方式。 – 2014-03-14 10:09:28