我正在尝试用Postgresql编写一个查询,其中我需要从详细信息列中提取订单号,但我只想在列中的条目包含“用作订单x的付款”的情况下提取订单号,其中x是我需要提取的编号。我不确定如何做到这一点,因为订单号包含不同数量的数字。这是我到目前为止所知道的-
示例字符串-“用作订单1034267的付款”所需输出-1034267
示例字符串-“用作订单55263的付款”所需输出-55263
SELECT details
FROM transactions
WHERE details LIKE 'Used as payment on order%'但这将获得整个列条目,而不仅仅是数字。我如何才能从一个条目中抓取数字?
发布于 2020-07-03 01:11:06
这可以很容易地使用regexp_replace()并从输入字符串中删除除数字以外的所有内容:
SELECT regexp_replace(details, '[^0-9]+', '', 'g')
FROM transactions
WHERE details LIKE 'Used as payment on order%'https://stackoverflow.com/questions/62700765
复制相似问题