ORA-01722 ошибка неверного номера в запросе выбора - Oracle - PullRequest
0 голосов
/ 09 марта 2020
 SELECT 
    a.PCL_LOCATCODE, 
    a.AAG_NAME, 
    a.AAG_AGCODE, 
    a.CHL_LEVEL, 
    a.AAG_IDNO, 
    a.AAG_JOINDAT, 
    a.AAG_BRTHDAT, 
    a.aag_imedsupr, 
    a.aag_status, 
    b.AWT_TYPE, 
    b.AWT_EFFECTDATE, 
    c.GCA_REGNO, 
    c.GCA_REGEXPIRED 
FROM LAAG_AGENT a 
JOIN lawt_warnterm b ON a.aag_agcode = b.aag_agcode 
JOIN lgca_mainacnt c ON a.aag_agcode = c.Gca_Account 
WHERE 
    a.AAG_JOINDAT BETWEEN TO_DATE('01/01/2018', 'DD/MM/YYYY') AND TO_DATE('31/12/2019', 'DD/MM/YYYY') 
    AND a.chl_level = '001';

Когда я отправляю этот запрос, я получаю сообщение об ошибке «Неверный номер» ORA-01722.

Может кто-нибудь направить меня, пожалуйста? Я думаю, что проблема в состоянии даты.

1 Ответ

0 голосов
/ 09 марта 2020

Эта ошибка из-за данных в таблицах и происходит преобразование типов. Чтобы отследить это:

  1. проверьте все типы данных в столбцах, которые объединяются или задаются в предложении where
  2. , если требуется преобразование типов, то сделайте это явным в предложении where так что вы не получаете Oracle сгенерированное оптимизатором преобразование типов.
  3. проверка данных путем поднабора меньшего количества строк и / или проверки каждой таблицы / столбца, где преобразование типов может происходить отдельно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...