Oracle
 sql >> база данни >  >> RDS >> Oracle

Получаване на грешка - ORA-01858:беше намерен нецифров знак, където се очакваше число

Грешката, която получавате, е или защото правите TO_DATE в колона, която вече е дата и използвате маска на формат, която е различна от вашия nls_date_format параметър[1] или защото колоната event_occurrence съдържа данни, които не са число.

Трябва а) да коригирате заявката си, така че да не използва TO_DATE в колоната за дата, и б) да коригирате данните си, ако event_occurrence се предполага, че е само числа.

И коригирайте типа данни на тази колона, за да сте сигурни, че можете да съхранявате само числа.



[1] Какво прави Oracle, когато правите:TO_DATE(date_column, non_default_format_mask) е:TO_DATE(TO_CHAR(date_column, nls_date_format), non_default_format_mask)

Общо взето, nls_date_format по подразбиране параметърът е настроен на dd-MON-yy , така че във вашата заявка това, което е вероятно да се случи, е вашата колона с дата да се преобразува в низ във формат dd-MON-yy и след това я връщате обратно към дата с помощта на формата MMDD. Низът не е в този формат, така че получавате грешка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Checker Run

  2. Как да активирате проследяване в приложения на Oracle r12

  3. Как да знам идентификатора, преди да запиша обект в jpa

  4. Промяна на заявката за материализиран изглед

  5. Потребителска парола за гост в 11i/R12