替换查询语句中的特殊字符?

时间:2017-05-01 20:40:19

标签: string postgresql replace substring

我可以使用method去除字符串中的所有特殊字符和空格,并用查询中的下划线替换?

例如,我想了解table.field_val =' ex am.pl/e':

的以下情况
WHERE method(table.field_val) = 'ex_am_pl_e'

2 个答案:

答案 0 :(得分:2)

REGEXP_REPLACE:

t=# select regexp_replace( 'ex am.pl/e'::text,'[^0-9a-zA-Z]','_','g');
 regexp_replace
----------------
 ex_am_pl_e
(1 row)

或相同的短篇:

t=# select regexp_replace( 'ex am.pl/e'::text,'[^\w]','_','g');
 regexp_replace
----------------
 ex_am_pl_e
(1 row)

答案 1 :(得分:1)

使用translate(),例如:

select translate('ex am.pl/e', ' ./', '___');

 translate  
------------
 ex_am_pl_e
(1 row)