如果列包含字母数字以外的特殊字符,我需要获取它的值。
前任:select name from data;
name
ACD12
A12DD
A_C12
A@CD
AB_M1
123AB
我需要编写一个正则表达式来从上表中获取以下数据:
A_C12
A@CD
AB_M1
如果列包含字母数字以外的特殊字符,我需要获取它的值。
前任:select name from data;
name
ACD12
A12DD
A_C12
A@CD
AB_M1
123AB
我需要编写一个正则表达式来从上表中获取以下数据:
A_C12
A@CD
AB_M1
您需要一个表示“任何包含至少一个非字母数字字符的字符串”的表达式:
SELECT name FROM table1 WHERE name ~ '[^[:alnum:]]'
见:http ://sqlfiddle.com/#!12/2edd5/15
我没有使用过\W
,因为它相当于[^[:alnum:]_]
并且您不想要下划线。请参阅有关正则表达式的 PostgreSQL 文档。