问题描述
我在检查约束读取 [A-Z] 时遇到问题。
代码如下:
drop table test CASCADE CONSTRAINTS;
Create table test (
post Varchar2(6),CHECK (post like '[A-Z]')
);
insert into test values ('A');
并且我在尝试插入 A 后收到“违反检查约束”错误。任何反馈都将不胜感激。即使它对你有用,因为一切都告诉我它应该有用。
解决方法
使用REGEXP_LIKE
:
CREATE TABLE test (
post Varchar2(6),CHECK (REGEXP_LIKE(post,'^[A-Z]+$'))
);
模式 ^[A-Z]+$
将匹配仅包含大写字母的帖子。如果您想标记以大写字母开头的帖子,请使用 ^[A-Z]
。