如何从PostgreSQL中的文本中删除除数字之外的所有字符?

时间:2017-11-12 09:14:05

标签: sql postgresql

我有一个文本栏:

id   authorization
--------------------
 1   A1541-57
 2   135
 3   G-ff5
 4   BLA
 5   120G3

我想写一个显示列但只有数字的查询,如果没有数字显示为空

这是我想要的输出:

1 154157
2 135
3 5
4
5 1203

我知道这可以用正则表达式完成,但我不确定我是如何在查询中做到的...

1 个答案:

答案 0 :(得分:2)

正则表达式是要走的路:

select id, regexp_replace(authorization, '[^0-9]', '', 'g')
from the_table;

[^0-9]表示“任何不是数字

的内容