示例表声明:
CREATE TABLE Person (
ID int PRIMARY KEY,
FirstName nvarchar(255),
LastName nvarchar(255),
PhoneNumber varchar(255)
)
如何添加不允许在PhoneNumber中添加任何字母的约束?
check
约束:alter table person add constraint chk_person_phonenumber
check (phonenumber not like '%[^0-9]%');
这表示phonenumber
没有不是数字的字符。请注意,如果确实需要,请扩展模式以允许使用空格,连字符或括号。
如果您真的只是想要数字,也可以使用
try_convert()
:
check (phonenumber not like '%.%' and try_convert(decimal(38, 0), phonenumber) is not null )
但是,这在扩展字符集方面不那么灵活。