QUERY=TABLE1,TABLE2:"where ... 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