【发布时间】:2016-03-16 10:10:05
【问题描述】:
我在BOOKS 表中有列名BOOKNAME,它可以包含许多除字母数字之外的特殊字符,例如',$#()[],
如何编写查询以仅显示所有行中的特殊字符并将它们联合起来,例如
Row number Book name
1 Alice$inWonder(Land)
2 Tom Harry#$%^& adventures
所以查询应该显示像$()#%^&这样的输出
我试过了,但不明白为什么它不只显示这些字符
SELECT replace(BOOKNAME , '%[^a-zA-Z0-9 ]%', '') FROM BOOKS
WHERE BOOKNAME like '%[^a-zA-Z0-9 ]%'
【问题讨论】:
-
我们可以使用 STUFF、PATINDEX 吗?
标签: sql sql-server regex