sql >> Databáze >  >> RDS >> Oracle

Zobrazení ORA-01858:Na místě, kde bylo očekáváno číslo, byl nalezen nečíselný znak

V podstatě se pokoušíte uložit řetězec, který představuje datum v poli časového razítka. Pokud nahradíte:

TO_CHAR(TS, 'DD-MON-YYYY HH AM')

od

TRUNC(TS, 'hh24')

na všech 4 místech by to mělo fungovat.

INSERT INTO ENROLLMENTS (DATE,PARTNER_NAME,ENROLLMENTS)
    SELECT   TRUNC(TS, 'hh24') AS DATE, mrch_bnft_cd, COUNT(*)
    FROM     ENROLLMENTS 
    WHERE    TS > trunc(sysdate-1/24, 'HH') + 5/24 
    AND      TS < trunc(sysdate, 'HH') + 5/24
    GROUP BY TRUNC(TS, 'hh24'), mrch
    ORDER BY TRUNC(TS, 'hh24'), mrch_bnft



  1. Jak vytvoříte dočasnou tabulku v databázi Oracle?

  2. podmíněné jedinečné omezení

  3. Zdá se, že připojení k databázi bylo úspěšné, ale INSERT INTO neodesílá žádná data

  4. CI - zobrazí chybu databáze nebo selhání