我使用PATINDEX
替换字符串中的杂散字符(表格中的列)。
select PATINDEX('%[^A-Z,a-z0-9 -()&_/\.]%', 'This has a stray character$')
我很困惑为什么结果是0(我期待27):$
不在我想保留的模式中。任何见解?
答案 0 :(得分:1)
事情是短划线-
用于模式匹配。所以你必须逃脱它:
select PATINDEX('%[^A-Z,a-z0-9 \-()&_/\.]%', 'This has a stray character$')
答案 1 :(得分:0)
我会逃避所有特殊角色:
select PATINDEX('%[^A-Z,a-z0-9 \-\(\)\&\_\/\\\.]%', 'This has a stray character$')
的 LiveDemo
强>