我可以使用method
去除字符串中的所有特殊字符和空格,并用查询中的下划线替换?
例如,我想了解table.field_val
=' ex am.pl/e':
WHERE method(table.field_val) = 'ex_am_pl_e'
答案 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)