繁体   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