Sql 检查varchar列是否只有字母字符
我希望有一个检查约束,只允许插入字母字符,如:“a”“Marie”,不允许类似“1”*#€*a” 此时此刻,你会有这样的表达:Sql 检查varchar列是否只有字母字符,sql,sql-server,Sql,Sql Server,我希望有一个检查约束,只允许插入字母字符,如:“a”“Marie”,不允许类似“1”*#€*a” 此时此刻,你会有这样的表达: CONSTRAINT CK_Pn CHECK (Name LIKE '%[^A-Za-z]%' 您可以使用而不是像: CONSTRAINT CK_Pn CHECK (Name NOT LIKE '%[^A-Za-z]%')) 也就是说,Name没有非字母字符。但是名称可以有A-z以外的字符。那叫“奥康纳”或“史密斯·布朗”的人呢?那些人就不能使用你的应用程序吗?你忽
CONSTRAINT CK_Pn CHECK (Name LIKE '%[^A-Za-z]%'
您可以使用
而不是像:
CONSTRAINT CK_Pn CHECK (Name NOT LIKE '%[^A-Za-z]%'))
也就是说,Name
没有非字母字符。但是名称可以有A-z以外的字符。那叫“奥康纳”或“史密斯·布朗”的人呢?那些人就不能使用你的应用程序吗?你忽略了重音字符吗?或者像德语的umlauts(äöü
),法语的重音(èè
)等等??许多欧洲语言都有某种特殊的字符。。。。。你也会把所有的名字都锁在外面!