我需要在 postgresql 中实现 stringUtils 类的 indexOf() 方法。
假设我有一个 table
其中url
是列之一。
url : "http://paypal-info.com/home.webapps.cgi-bin-limit/webscr.cmd-login-submit"
我的要求是在上面的 url 中找到第 3 次出现的 '/' 的索引并做子字符串并且只取 paypal-info.com
Postgresql Query
中的主机名
任何关于实现此的想法将不胜感激。 谢谢
最佳答案
你试过split_part方法吗?
SELECT split_part('http://paypal-info.com/home.webapps.cgi-bin-limit/webscr.cmd-login-submit', '/', 3)
结果:
split_part
paypal-info.com
对于其他字符串函数,试试这个文档: http://www.postgresql.org/docs/9.1/static/functions-string.html
编辑:至于 indexOf 本身,我不知道任何内置的 postgres 解决方案。但是使用两个字符串函数你可以这样实现:
SELECT strpos('http://paypal-info.com/home.webapps.cgi-bin-limit/webscr.cmd-login-submit', split_part('http://paypal-info.com/home.webapps.cgi-bin-limit/webscr.cmd-login-submit', '/', 4)) - 1 as index_of;
关于java - StringUtil indexOf() 等效的 postgreSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25442508/