如何从postgresql中包含单词和数字的列中提取数字

6ljaweal  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(1736)

我试图在postgresql中编写一个查询,其中我需要从details列中提取订单号,但我只想在列中的条目包含“used as payment on order x”时提取订单号,其中x是我需要提取的编号。我不知道怎么做,因为订单号包含不同的数字。这是我到目前为止的情况-
示例字符串-“用作订单1034267的付款”所需输出-1034267
示例字符串-“用作订单55263的付款”所需输出-55263

SELECT details
FROM transactions
WHERE details LIKE 'Used as payment on order%'

但这会得到整个列条目,而不仅仅是数字。我怎样才能从一个条目中获取号码?

yk9xbfzb

yk9xbfzb1#

这可以很容易地使用 regexp_replace() 从输入字符串中删除所有不是数字的内容:

SELECT regexp_replace(details, '[^0-9]+', '', 'g')
FROM transactions
WHERE details LIKE 'Used as payment on order%'

相关问题