Joh*_*ohn 7 regex postgresql pattern-matching
尽管表达式出现问题,但我SELECT
只需要FROM
连续输入字母字符。我试过了:
SELECT id, regexp_replace(_column_name_, '0123456789', '') AS _column_alias_
FROM _table_name_;
Run Code Online (Sandbox Code Playgroud)
我知道一般要点只会替换数字,但是该列仅包含开头的字母数字字符。
因此,如果_column_name_
包含一个值a1b2c3
,我如何使PostgreSQL返回字符串abc
?
消除字符串中所有数字的最快表达式是使用普通字符translate()
:
SELECT translate(col,'0123456789','') AS col_without_digits
FROM tbl;
Run Code Online (Sandbox Code Playgroud)
正则表达式功能强大且用途广泛,但价格昂贵。
如@Ben所指出的,您的错误是缺少作为第四个参数的“全局”开关。使用正则表达式时,还可以使用速记类\d
:
SELECT regexp_replace(col, '\d', '', 'g') AS col_without_digits
FROM tbl;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3630 次 |
最近记录: |