我想创建一个规则以限制要输入到列中的特殊字符。
我尝试了以下方法。但它没有用。

CREATE RULE rule_spchar
AS
@make LIKE '%[^[^*|\":<>[]{}`\( );@&$]+$]%'

我不知道我在这里做错了什么。任何帮助,将不胜感激。

最佳答案

您可以在此列上创建 Check Constraint 并且只允许在此列中插入 NumbersAlphabets,请参见下文:

检查约束只允许数字和字母

ALTER TABLE Table_Name
ADD CONSTRAINT ck_No_Special_Characters
       CHECK (Column_Name NOT LIKE '%[^A-Z0-9]%')

检查约束以只允许数字
ALTER TABLE Table_Name
ADD CONSTRAINT ck_Only_Numbers
       CHECK (Column_Name NOT LIKE '%[^0-9]%')

检查约束以只允许字母
ALTER TABLE Table_Name
ADD CONSTRAINT ck_Only_Alphabets
       CHECK (Column_Name NOT LIKE '%[^A-Z]%')

10-08 06:56
查看更多