当前位置: 代码迷 >> Sql Server >> 一个约束有关问题,听说标题不长别人都不鸟你
  详细解决方案

一个约束有关问题,听说标题不长别人都不鸟你

热度:20   发布时间:2016-04-24 10:27:28.0
一个约束问题,听说标题不长别人都不鸟你
问题如下:
我有一个表主键名称是Id 数据类型是varchar(20),开始若干位是数字,最后一位是英文字符(或者没有)。比如0101,010202k,0203030303s。
现在我想在数据表中加一个约束保证这种规则。我的约束该怎么写?
check (id like???????????????????????
我不想在bll或dal中检查
------解决方案--------------------
check(isnumeric(id)=1 or (right(id,1) like %[a-z][A-Z]%'  and isnumeric(cast(left(id,len(id)-1)) as int))=1)

试试这个
------解决方案--------------------
引用:

check( id like replicate('[0-9]',len(id)) or id  like replicate('[0-9]',len(id)-1)+'[a-Z]')
  相关解决方案