2017-03-21 3 views
0

日付パラメータをwith句に渡して、エラーが発生しました。私はハードコアの値を渡す場合は、値を取得するクエリ。句またはサブクエリファクタリング句を指定すると、日付にエラーが発生しています

問合せ:

WITH reg AS 
    ( SELECT 'I' AS OPERATION, 
     CPIX.ID_VALUE AS ID_VALUE, 
     GLOBAL_ID AS GLOBAL_ID, 
     DISPLAY_VALUE AS ONEKEY_ID, 
     (SELECT N.NAME FROM NUC_CFG_REGION N WHERE REGION_ID=CPIX.REGION_ID) AS COUNTRY, 
     CRTN_DT AS FROM_DATE, 
     TRUNC(SYSDATE) AS TO_DATE1 

    FROM CUS_PRIMARY_ID_XREF CPIX 
    WHERE trunc(crtn_dt)>to_date(&start_date,'YYYY-MM-DD') and trunc(crtn_dt)<to_date(&end_date,'YYYY-MM-DD') 
    ) 
    SELECT Operation, 
     country, 
     count(onekey_id) Tot_onekey_cnt, 
     FROM_DATE, 
     TO_DATE1 
    from reg 
    group by ROLLUP(country),Operation,FROM_DATE,TO_DATE1 
    HAVING (GROUPING(country)=0) 

エラー:

ORA-01840:日付フォーマットのための十分な長さではない入力値

+0

入力として使用している日付は何ですか?提供されている書式マスクと一致する必要があります。あなたの場合、それは 'yyyy-mm-dd'でなければなりません –

+0

これは ''&start_date''でなければなりません(一重引用符で囲んで) –

+0

Hi Maheswaran、あなたのコメントをありがとう。できます!!!ご助力ありがとうございます。私は一重引用符を逃した;) – Sunitha

答えて

1

&variableは、単にマクロように、入力された値で置換される(一重引用符内)'&start_date'なければなりません。

0

は、クエリは、適切な入力日付フォーマットしない限り、正常に動作します供給される。あなたの場合、入力日はマスクに従わなければなりません。つまり、「YYYY-MM-DD」です。

希望します。

+0

こんにちは、お返事ありがとうございます。もし私が値をハードコアすれば、同じマスクの結果が得られます。 – Sunitha

+0

私はあなたがこのクエリで実行中に動的に値を取得しようとしていると仮定します。 –

関連する問題