【发布时间】:2018-08-08 05:55:31
【问题描述】:
我只想知道在此查询中我应该将\g 放在哪里?
SELECT project,
SUBSTRING(address FROM 'A-Za-z') AS letters,
SUBSTRING(address FROM '\d') AS numbers
FROM repositories
我试过了,但这并没有返回任何结果(虽然它不会引发错误)
SELECT project,
SUBSTRING(CONCAT(address, '#') FROM 'A-Za-z' FOR '#') AS letters,
SUBSTRING(CONCAT(address, '#') FROM '\d' FOR '#') AS numbers
FROM repositories
这是一个示例:我希望字符串 1DDsg6bXmh3W63FTVN4BLwuQ4HwiUk5hX 返回 DDsgbXmhWFTVNBLwuQHwiUkhX。所以基本上返回所有的字母......然后我的第二个是返回所有的数字。
【问题讨论】:
-
你在使用 Postgres 吗?
-
是的,但是我想知道是否有不使用任何postgresql函数的解决方案
-
你应该告诉我们
\g应该做什么。我用过一点 Postgres,但我不知道发生了什么。 -
所以正则表达式将返回第一个匹配项,
\g是一种使正则表达式返回每个匹配项的方法,而不仅仅是第一个匹配项 -
所以你基本上想对给定的字符串多次应用正则表达式,并返回每个匹配项?对吗?
标签: sql regex postgresql