比方说表user有个age属性,要求它必须为三位数字,怎么写这个约束呢
我这样写了alter table user
add constraint ck_age check(age like '[0-9][0-9][0-9]'); 可是我在填加数据的时候,不行,说跟约束不匹配,我填的都是数字!
在oracle,怎么写约束只能是数字呢
我这样写了alter table user
add constraint ck_age check(age like '[0-9][0-9][0-9]'); 可是我在填加数据的时候,不行,说跟约束不匹配,我填的都是数字!
在oracle,怎么写约束只能是数字呢
add constraint ck_age check(regexp_like(age, '[0-9][0-9][0-9]')); 使用正则表达式,必须10g以上
其中的函数有
1.regexp_like
2.regexp_substr
3.regexp_instr
4.regexp_replace
更多
是字符型的
使用regexp_like(age, '[0-9][0-9][0-9]')可以。
add constraint ck_age check(REGEXP_like(age,'[0-9][0-9][0-9]'));
用regexp_like()就ok