作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
所以我在 postgres 表中有一列(称为 account_uri),如下所示:
/randomCharacters/123456/randomNumbers
我需要查询中间的子字符串,它是两个/
符号之间的字符串。
我目前的尝试是这样的:
SELECT
REVERSE(SUBSTRING(REVERSE([account_uri]),0,CHARINDEX('/',REVERSE(account_uri))))
FROM exp_logs
LIMIT 15
它只选择随机数而不选择所需的数字。
虽然我尝试建立在这个想法上并使用了
(SUBSTRING(REVERSE(SUBSTRING(REVERSE([account_uri]),CHARINDEX('/',REVERSE(account_uri)))),1,CHARINDEX('/',REVERSE(SUBSTRING(REVERSE([account_uri]),CHARINDEX('/',REVERSE(account_uri)))))))
但这只返回一堆 /
符号,根本没有数字。
如果有人能帮我查询这个子串,我将不胜感激
最佳答案
select
split_part(account_url, '/', 3)
from exp_logs;
有效。
http://www.postgresql.org/docs/9.3/static/functions-string.html
兼容性:8.3+
关于sql - 如何从sql表中获取子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25272196/
我是一名优秀的程序员,十分优秀!