sql - 返回字符串 :postgresql 中的数字

标签 sql regex postgresql select

我有字符串:我 10 岁,有 500 个 friend 。 我想返回 10 和 500,但是当我执行下面的查询时它返回空值:

SELECT
REGEXP_MATCHES('I have the string: I am 10 years old with 500  friends',
                '-?\\d+','g');

最佳答案

问题出在双反斜杠上。虽然一些数据库需要对正则表达式字符类进行转义,但 Postgres 只需要一个反斜杠。

所以:

select regexp_matches(
    'I have the string: I am 10 years old with 500 friends',
    '-?\d+',
    'g'
);

'-?' 对您的示例字符串不敏感。我将其保留原样,以防您想容纳可能的负数。

Demo on DB Fiddle

关于sql - 返回字符串 :postgresql 中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62614975/

相关文章:

sql - 使用 SSMS 将 1000 行插入 SQL 表

php - 选择所有项目,按项目使用次数排序

r - 我可以使用 RPostgreSQL 包将 PostGIS 栅格数据类型导入到 R 中吗?

c# - 更改 IdentityServer4 Entity Framework 表名

mysql - 在 GROUP BY 中使用 LIMIT 以获得每组 N 个结果?

带前导零的 MYSQL 查询返回的结果与不带前导零的结果相同

java - 用动态内容中的另一个字符串替换子字符串

regex - 是否存在 submatch(0) 在 vi​​m 正则表达式替换中不起作用的情况?

javascript - 语法错误 : Invalid regular expression: missing/

postgresql - 从排除域列表中排除电子邮件地址