如何使用正则表达式来查找特殊字符

时间:2015-09-02 11:21:28

标签: sql sql-server database tsql database-administration

如何使用正则表达式查找名称列中包含以下特殊字符的行?

 * , [ ] { } ' " \ % $ @ ( ) < > ? : ; # ! & / | = + - _ ~ 

除此之外,我们需要识别名称列中包含\ n(换行符)和\ r \ n(回车符号)的行。

示例:我可以使用以下查询找到包含'名称中的行。

  

从表中选择*,其中名称为'%''%';

以同样的方式查找包含任何上述特殊字符的所有行。

1 个答案:

答案 0 :(得分:1)

我希望这会对你有所帮助

declare @name nvarchar(33);
-- you can check with this name also
set @name  = ' yourname''g'
-- OR (here i am overriding value but please make sure at the time one SET statement should active)
set @name  = ' * , [ ] { }  " \ % $ @ ( ) < > ? : ; # ! & / | = + - _ ~ '
IF (@name LIKE '%[^a-zA-Z0-9]%')
    PRINT 'Contains "special" characters'
ELSE
    PRINT 'Does not contain "special" characters'