在sql server 2005中建check约束的时候怎么使用正则表达式来匹配某个字段
答案:2 悬赏:70
解决时间 2021-03-15 04:58
- 提问者网友:刪除丶後
- 2021-03-14 23:18
如:用check约束来匹配一个电话号 要怎么写
最佳答案
- 二级知识专家网友:绝望伪装
- 2021-03-15 00:15
check (电话号码字段 Like '[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') --手机号
全部回答
- 1楼网友:哭不代表软弱
- 2021-03-15 01:49
用check基本不可能啊。你可以编个存储过程: create function validname ( @name nvarchar(100) ) returns bit as begin declare @len int declare @i int declare @c nvarchar(1) declare @ret bit set @len=len(@name) set @i=1 set @ret=1 while @i<=@len begin set @c=substring(@name,@i,1) if @c not like '[1-9]' and @c not like '[a-z]' and @c <>'_' begin set @ret=0 break end set @i=@i+1 end return @ret end 调用的时候可以写在存储过程里,假设传进存储过程的用户名在变量@username里, if dbo.validname(@username)=0 return 不符合规则的直接return,如果,符合在后边的语句内插入就行了。 当然,不一定非在存储过程里调用,触发器里也可以,怎么用,你根据情况自己设计吧。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯