ID检查ID号的约束

时间:2012-11-20 18:00:06

标签: sql sql-server-2008-r2

我正在尝试为

的ID号执行SQL检查约束
Name: EmployeeID
Data Type: char
Size: 10

我正在使用Microsoft SQL Server 2008 R2,我无法理解在查询中如何使用某些SQL命令,但出于某种原因却不能作为检查约束。

我正在尝试使用LIKE,例如

EmployeeID LIKE '[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]'

但是它不接受这个,是否有更好的方法来解决这个问题呢?

谢谢。

2 个答案:

答案 0 :(得分:3)

方括号之间没有空格,它应该有效:

EmployeeID LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

答案 1 :(得分:2)

您的约束目前需要9个空格。尝试:

EmployeeID LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

或者也许:

LEN(EmployeeID) = 10 and EmployeeID not like '%[^0-9]%'

其中没有字符在0-9组之外,并且它的长度为10个字符 - 如果将来需要更改长度,则更易于维护。