我正在尝试在接受许多可选字段的 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                         
有任何想法吗?