SQL SERVER2008关于VARCHAR类型的CHECK约束问题

列名为ID数据类型VARCHAR(10)为ID增加约束,同时满足以下条件:只能是8位字符前两位是03-4位是为数字第5位为下划线6-8位为字母... 列名为ID 数据类型VARCHAR(10)
为ID增加约束,同时满足以下条件:

只能是8位字符
前两位是0
3-4位是为数字
第5位为下划线
6-8位为字母
展开
 我来答
yao14yao14
2011-10-27 · TA获得超过2612个赞
知道小有建树答主
回答量:959
采纳率:50%
帮助的人:331万
展开全部
--建立一个表,有两个字段:ID, DataValue
--为 ID 字段建立约束:主键、CHECK
CREATE TABLE [dbo].[TemplateTb](
[ID] [varchar](10) NOT NULL,
[DataValue] [nvarchar](50) NULL,
CONSTRAINT PrimaryKey_UniqueID PRIMARY KEY([ID]),
CONSTRAINT Check_UniqueID CHECK (
LEN([ID])=8 AND
LEFT([ID],2)='00' AND
ISNUMERIC(SUBSTRING([ID],3,2))=1 AND
SUBSTRING([ID],5,1)='_' AND
SUBSTRING([ID],6,3) NOT LIKE '%[^a-zA-Z]%'
)
)

经测试完全OK ,如果你的表已经建立,可在 SQL Server 管理工具中为字段 ID 添加约束,然后把 CHECK 关键字后面的的条件表达式复制到"CHECK 约束"中的“常规”,“表达式”内
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式