簡體   English   中英

ORA-01843:檢查約束無效的月份

[英]ORA-01843: not a valid month on a check constraint

我試圖將Check約束放在日期時間范圍內的出生日期上,因為我不想讓用戶插入<<01-JAN-1900值。

我正在嘗試將其詳述為:

CONSTRAINT  BORN_VALIDITY   CHECK(BORN_DATE > TO_DATE('01-GEN-1900','DD-MON-1900'));

我還從一開始就更改了日期格式會話

ALTER SESSION NSL_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';

但是我收到來自Oracle SQL的同一個錯誤,但並不遺憾。

還有其他方法可以在我的檢查約束上設置日期范圍嗎?

假設數據庫的語言是意大利語,或者可以將一月份的語言寫成GEN,則應該使用TO_DATE('01-GEN-1900','DD-MON-YYYY')

要獲得一種不管使用哪種語言都有效的解決方案,最好使用ANSI標准date '1900-01-01'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM