日期:2014-05-19  浏览次数:20812 次

如何限制输入的值是数字型字符串?
假设有一个字段:密码.设计时,pw   定义为char,该字段列的值必须是6位纯数字的字符串.
我想可以创建一个check约束或规则,以下是我写的代码
use   bank
go
create   rule   rule_pw
as   len(@pw)=6   and   @pw   like   '[0-9] '

go
exec   sp_bindrule   'rule_pw ', 'login.pw '

insert   into   login
(card,pw)values( '123456 ', '100000 ')

在运行到插入语句时,提示错误
"列的插入或更新与先前的   CREATE   RULE   语句所强制的规则冲突。该语句已终止。冲突发生于数据库   'bank ',表   'login ',列   'pw '。
语句已终止。 "

请问高手前辈们,我该怎么修改实现标题的功能?



------解决方案--------------------
Create rule rule_pw
as Len(@pw)=6 and isNumeric(@pw)=1