date('2003-01-01')或date('01.01.2003')二种参数形式,所以不管用那种都要在数据原型中进行拆分,即分别拆分出年、月、日 ,然后重新拼凑在一起。思路比较简单,但如果处理不好sql会把拼凑时的‘-’号作为数据操作符来出来。我也是搞了二个小时才搞好,我晕,思路混乱~~~
所以特意记下来,以便以后查询:
SET STMT= 'INSERT INTO SESSION.'||MID_TABLE3||'('||MID_TABLE_SEG2||') '
||' SELECT MBL_NUM,'
||' DAYS(DATE('''||DATE_OF_EXTRACTION||'-01''))-DAYS(DATE(CHAR(LEFT(LTRIM(CHAR(SUBS_DATE_ID/10000)),4)||''-''||'
||' RIGHT(RTRIM(CHAR(SUBS_DATE_ID/100)),2)||''-''||'
||' RIGHT(RTRIM(CHAR(SUBS_DATE_ID)),2))))'
||' FROM '
||FROM_TABLE03||APP_MONTH1
||' WITH UR ';
INSERT INTO DYN_SQL_BDY VALUES (TO_TABLE, STMT);COMMIT;PREPARE S FROM STMT;EXECUTE S;COMMIT;