[英]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.