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 是带时分秒的字段
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 是带时分秒的字段
解决方案 »
- PL/SQL修改表字段类型的问题
- 如何向Oracle中添加java程序中用到的jar文件,总是报错!!困惑
- ORACLE 存储过程中select语句的where条件带IF判断,怎么写?
- 如图,plsql空格显示乱码,怎么破?求大神指导!
- startup 后面加restrict 是什莫作用啊?
- 关于TOAD
- OracleOraHome81ManagementServer无法启动???
- 在oracle数据库中那一个表是记录当前数据库中所有表的名称?
- 明天阿生日,诚邀各位兄弟姐妹进来坐坐,顺便给大家点分数和快乐~
- 请问你们安装ORACLE 8.1.7. 需要多长时间啊?
- 初学单表查询的问题
- 求一oracle对应的语句
给你两个语句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不知道符合你的要求不哈