拒绝特定的字符

L C*_*L C 1 sql t-sql sql-server sql-server-2008-r2

我需要创建一个约束或类似的东西,只允许字符像A-Z,_并-在一列.

如何才能做到这一点?

Dha*_*val 5

试试这..在ms sql server中工作正常

CREATE TABLE TestTable
(ID INT, FirstCol VARCHAR(100),
CONSTRAINT FirstCol CHECK (FirstCol NOT LIKE '%[^a-zA-Z\_-]%' ESCAPE '\'))
Run Code Online (Sandbox Code Playgroud)

  • @jarlh - 这是一个双重否定因为我们知道要允许的字符,并且不想列出所有不允许的字符(注意```里面的`^`).所以"不喜欢"在这里是正确的. (2认同)