sql >> Databasteknik >  >> RDS >> Oracle

Får fel - ORA-01858:ett icke-numeriskt tecken hittades där ett numeriskt tecken förväntades

Felet du får beror antingen på att du gör TO_DATE på en kolumn som redan är ett datum och du använder en formatmask som skiljer sig från ditt nls_date_format parameter[1] eller för att kolumnen händelse_förekomst innehåller data som inte är ett tal.

Du måste a) korrigera din fråga så att den inte använder TO_DATE i datumkolumnen, och b) korrigera din data, om händelse_förekomst bara ska vara siffror.

Och fixa datatypen för den kolumnen så att du bara kan lagra siffror.



[1] Vad Oracle gör när du gör:TO_DATE(date_column, non_default_format_mask) är:TO_DATE(TO_CHAR(date_column, nls_date_format), non_default_format_mask)

Generellt är standard nls_date_format parametern är satt till dd-MON-yy , så i din fråga, vad som sannolikt kommer att hända är att din datumkolumn konverteras till en sträng i formatet dd-MON-yy, och du återställer den sedan till ett datum med formatet MMDD. Strängen är inte i det här formatet, så du får ett felmeddelande.



  1. Guide för att designa databas för anställdas ledningssystem i MySQL

  2. Fundamentals of tabelluttryck, del 12 – Inline tabellvärderade funktioner

  3. SQLite VISA TABELLER Motsvarande

  4. ORA-01017 Ogiltigt användarnamn/lösenord vid anslutning till 11g-databas från 9i-klient