我的客户想要维护一个“坏词”列表,他们可以检查自动生成的用户名。这样,名为“Fred Uckman”的人就可以自动转到不同的用户名格式。
给定一个特定的输入(@username nvarchar(60)),我如何最好地查询单个列表以查看该输入是否包含该表中的任何“坏词”?
答案 0 :(得分:0)
您可以使用触发器。如果你存储了"坏词"在表中,以及另一个表中的目标用户名,触发器可以自动运行" BEFORE INSERT"进入目标用户名表。实际匹配"坏词"您可以将它用作LIKE SQL关键字的操作数。您可以使用CONCAT将通配符%(多个字符)或_(单个字符)连接到开头或结尾。另外,要创建触发器,您可以使用these steps。
答案 1 :(得分:0)
使用单个列和坏词构建一个表
select count(*) from BadWords
where @userName like '%'+theBadWord+'%'