vUPD_SQL := 'UPDATE CROSS_ANALYSIS_HISTORY SET';
vUPD_SQL := vUPD_SQL || ' DAY_SEQ=DAY_SEQ+' || vDML_FLG * CON_DAY_SEQ_STP;
vUPD_SQL := vUPD_SQL || ' WHERE ORGANIZATION_CODE = ' || vROW_STORE_CUSTOMER_HISTORY.ORGANIZATION_CODE;
vUPD_SQL := vUPD_SQL || ' AND STORE_CODE = ''' || vROW_STORE_CUSTOMER_HISTORY.STORE_CODE || '''';
vUPD_SQL := vUPD_SQL || ' AND CUSTOMER_CODE = ' || vROW_STORE_CUSTOMER_HISTORY.CUSTOMER_CODE;
vUPD_SQL := vUPD_SQL || ' AND BUSINESS_DAY = TO_DATE(TO_CHAR(TO_DATE(''' || vROW_STORE_CUSTOMER_HISTORY.BUSINESS_DAY || '''),''YYYY/MM/DD''))';
vUPD_SQL := vUPD_SQL || ' AND USE_START_TIME > TO_DATE(''' || vROW_STORE_CUSTOMER_HISTORY.USE_START_TIME || ''', ''YYYY/MM/DD hh24:mi:ss'')';EXECUTE IMMEDIATE vUPD_SQL;我察看了vUPD_SQL字符串
结果是
UPDATE CROSS_ANALYSIS_HISTORY SET DAY_SEQ=DAY_SEQ+1 
WHERE ORGANIZATION_CODE = 1 
AND STORE_CODE = 'C0251' 
AND CUSTOMER_CODE = 1 
AND BUSINESS_DAY = TO_DATE(TO_CHAR(TO_DATE('09-06-01'),'YYYY/MM/DD')) 
AND USE_START_TIME > TO_DATE('09-06-01', 'YYYY/MM/DD hh24:mi:ss')
最后那个我希望是带时分秒的可是出来是 '09-06-01'   怎么修改?vROW_STORE_CUSTOMER_HISTORY.USE_START_TIME 是带时分秒的字段

解决方案 »

  1.   

    LZ,不知道你那个USE_START_TIME > TO_DATE('09-06-01', 'YYYY/MM/DD hh24:mi:ss')  时分秒从什么时候开始
    给你两个语句UPDATE CROSS_ANALYSIS_HISTORY SET DAY_SEQ=DAY_SEQ+1 
    WHERE ORGANIZATION_CODE = 1 
    AND STORE_CODE = 'C0251' 
    AND CUSTOMER_CODE = 1 
    AND BUSINESS_DAY = TO_DATE(TO_CHAR(TO_DATE('09-06-01'),'YYYY/MM/DD')) 
    AND USE_START_TIME > TO_DATE('09-06-01', 'YYYY/MM/DD hh24:mi:ss')+0.00001 结果是 0009-6-1 0:00:01UPDATE CROSS_ANALYSIS_HISTORY SET DAY_SEQ=DAY_SEQ+1 
    WHERE ORGANIZATION_CODE = 1 
    AND STORE_CODE = 'C0251' 
    AND CUSTOMER_CODE = 1 
    AND BUSINESS_DAY = TO_DATE(TO_CHAR(TO_DATE('09-06-01'),'YYYY/MM/DD')) 
    AND USE_START_TIME > TO_DATE('09-06-01', 'YYYY/MM/DD hh24:mi:ss')+0.99999 结果是 0009-6-1 23:59:59不知道符合你的要求不哈