sql check 约束 表达式
是这样的,我在数据库中,想用在设计-属性里添加一个CHECK约束一个身份证号,限制为:只能是15或18位,我填写的表达式是LIKE'[0-9][0-9][0-9][0-9...
是这样的,我在数据库中,想用在设计-属性里添加一个CHECK约束一个身份证号,限制为:只能是15或18位,我填写的表达式是
LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
OR
LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
但是系统提示我,验证约束时出错,请问应该怎么弄呀? 展开
LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
OR
LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
但是系统提示我,验证约束时出错,请问应该怎么弄呀? 展开
4个回答
展开全部
你的语句有问题,首先用like不是这样用的,应该是:check(chk_id like ‘...’ or chk_id like '...'),其次你不能用like控制长度的吧,like是匹配字符的,不是匹配长度,长度用len,你把这列属性设置为 int,然后check(len(chk_id) in ('18','15'))
具体如下:
create table a_test
(
id int null ,
chk_id int null check(len(chk_id) in ('18','15'))
)
具体如下:
create table a_test
(
id int null ,
chk_id int null check(len(chk_id) in ('18','15'))
)
展开全部
只限制长度的话,这样就行
create table t1
( PID varchar(20) not null ,
CONSTRAINT chk_PID check (len(PID) in ('15','18'))
)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是这样写:
PID LIKE ......
OR
PID LIKE ......
还是这样写:
PID LIKE ... ...
OR
LIKE ... ...
更多追问追答
追问
一开始我没有加字段名字,所以不行,谢谢啊。
还有一个问题,我想把一个字段的默认值设置为当前时间,请问怎么实现?
追答
date1 datetime default GETDATE()
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定身份证都是这样的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询