我需要添加一个名为group
的表格,其中包含一个名为code
如何向列中添加检查约束,以便它只允许使用以下字母字符(D,M,O,P或T),后跟2个数字字符。
答案 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不会