如何设置SQL Server检查?

时间:2009-04-22 16:24:07

标签: sql-server

我需要添加一个名为group的表格,其中包含一个名为code

的列

如何向列中添加检查约束,以便它只允许使用以下字母字符(D,M,O,P或T),后跟2个数字字符。

1 个答案:

答案 0 :(得分:7)

只需要简单的检查约束

create table blatest(code char(3))

alter table blatest add  constraint ck_bla 
check (code like '[DMOPT][0-9][0-9]' )
GO

测试

insert blatest values('a12') --fails
insert blatest values('M12')  --good
insert blatest values('D12') --good
insert blatest values('DA1') --fails

如果您需要它区分大小写,那么您必须创建像这样的约束

alter table blatest add  constraint ck_bla 
check (code like '[DMOPT][0-9][0-9]' COLLATE SQL_Latin1_General_CP1_CS_AS )
GO

D12会成功,但在那种情况下d12不会