QUERY=TABLE1,TABLE2:"其中 ... TO_DATE('01-AUG-2015','dd-mon-yyyy');"
删除QUERY参数中的分号。:
QUERY=TABLE1,TABLE2:"where TABLE1_STARTTIME >= TO_DATE('01-AUG-2015','dd-mon-yyyy')
and TABLE2_STARTIME >= TO_DATE('01-AUG-2015','dd-mon-yyyy')"
附带说明:
与您的问题没有直接关系。但请记住TO_DATE依赖于 NLS。您应该指定NLS_DATE_LANGUAGE,否则您的查询可能会因不同的 nls_date_language 而失败。
例如,
SQL> alter session set nls_date_language='FRENCH';
Session altered.
SQL> SELECT TO_DATE('01-AUG-2015','dd-mon-yyyy') FROM DUAL;
SELECT TO_DATE('01-AUG-2015','dd-mon-yyyy') FROM DUAL
*
ERROR at line 1:
ORA-01843: not a valid month
SQL> SELECT TO_DATE('01-AUG-2015','dd-mon-yyyy', 'nls_date_language=ENGLISH') FROM DUAL;
TO_DATE('01
-----------
01-AO█T -15
当您没有任何时间部分时,我更喜欢使用ANSI 日期文字。它是独立于 NLS的。它使用固定格式YYYY-MM-DD。
例如,
SQL> alter session set nls_date_language='FRENCH';
Session altered.
SQL> SELECT DATE '2015-08-01' FROM DUAL;
DATE'2015-0
-----------
01-AO█T -15
SQL> alter session set nls_date_language='AMERICAN';
Session altered.
SQL> SELECT DATE '2015-08-01' FROM DUAL;
DATE'2015
---------
01-AUG-15