Я пытаюсь передать параметры даты в с предложением и получить ниже ошибки. Если я передаю хардкорные значения, то запрашиваю получение значений.

Запрос:

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
Sunitha 21 Мар 2017 в 11:51

2 ответа

Лучший ответ

Должно быть '&start_date' (в одинарных кавычках)

&variable будет просто заменен входным значением, как макросы.

1
Maheswaran Ravisankar 21 Мар 2017 в 09:06

Запрос будет работать нормально, если не указан правильный формат даты ввода. В вашем случае вводимая дата должна соответствовать маске, т. Е. 'ГГГГ-ММ-ДД'.

Надеюсь это поможет.

0
Avrajit Roy 21 Мар 2017 в 08:58