如何使用正则表达式检查 SQL Server 2012 中的属性?

How to check attribute in SQL Server 2012 using regular expressions?

我需要插入一个设备型号代码,是一个字符串格式为:

AAA-0123456

必须是,3个大写字母,中间的“-”和6个数字, 我认为我需要进行约束检查(模型代码如正则表达式)。

我该怎么做?

您可以通过检查约束来执行此操作,请参见此处:http://www.w3schools.com/sql/sql_check.asp

是的,您可以将正则表达式放在检查约束中,这是一个示例:

CREATE TABLE dbo.PEOPLE (
name VARCHAR(25) NOT NULL
, emailaddress VARCHAR(255) NOT NULL
, CONSTRAINT PEOPLE_ck_validemailaddress CHECK ( dbo.RegExValidate( emailaddress, N'^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$' ) = 1 )
) 

您的正则表达式为:[A-Z][A-Z][A-Z][-][0-9][0-9][0-9][0-9][0-9][0-9][0-9]

这是构建和测试 reg expr 的好工具http://www.regexr.com/