我正在尝试为
的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]'
但是它不接受这个,是否有更好的方法来解决这个问题呢?
谢谢。
答案 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个字符 - 如果将来需要更改长度,则更易于维护。