Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-01843:niepoprawny miesiąc

W ograniczeniach sprawdzania określasz TO_CHAR() z maską formatu daty 'YYYY/MM/DD HH:MI:SS AM' . Ale wartości, które określasz dla zakresu, są w dwóch różnych formatach, np.

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

Myślę, że dobrym pomysłem byłoby zamiast tego pracować z datami, ponieważ łańcuchy nie będą porównywać w sposób, w jaki myślisz, że robią.

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')

Jednak może to nie być źródłem twojego problemu. Może to być konwersja w procesie ładowania, dlatego musimy wiedzieć, w jaki sposób ładujesz dane.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00936 Podczas korzystania z funkcji daty w wyroczni wybierz oświadczenie

  2. SQLException:ORA-06550 podczas wywoływania funkcji PL/SQL z Javy

  3. Jaki jest punkt ograniczenia widzenia?

  4. ORACLE - ORA-01843:niepoprawny miesiąc

  5. Brakujące wiersze podczas odpytywania tabeli za pomocą Doctrine (Symfony2)