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

ORA-01843:невалиден месец

Във вашите ограничения за проверка посочвате TO_CHAR() с маска за формат на датата 'YYYY/MM/DD HH:MI:SS AM' . Но стойностите, които задавате за диапазона, са в два различни формата, напр.

'2005/01/01 00:00:01 AM' AND '12/31/2015 11:59:59 PM'

Мисля, че би било добра идея вместо това да работите с дати, тъй като низовете няма да сравняват начина, по който си мислите.

constraint rental_rental_date check(rental_date) 
    between to_date('2005/01/01 00:00:01 AM', 'YYYY/MM/DD HH:MI:SS AM') and
            to_date('2015/12/31 11:59:59 PM', 'YYYY/MM/DD HH:MI:SS AM')

Това обаче може да не е коренът на вашия проблем. Това може да е преобразуване в процеса на зареждане, поради което трябва да знаем как зареждате данните.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Apex:Създайте лента за напредък, когато чакате резултат

  2. Oracle XMLQuery предава стойност на параметър

  3. Обединяване на множество записи по дата

  4. Ограничаване на вътрешна заявка с атрибут на външна заявка

  5. java.sql.SQLException:Невалиден индекс на колона в wildfly