mysql for Postgresql中常见的PATINDEX函数
mysql for postgresql的PATINDEX有什么熟悉的函数吗。我正试图在postgres中创建这样的sqlmysql for Postgresql中常见的PATINDEX函数,mysql,sql,postgresql,Mysql,Sql,Postgresql,mysql for postgresql的PATINDEX有什么熟悉的函数吗。我正试图在postgres中创建这样的sql SELECT PATINDEX('%schools%', 'W3Schools.com'); 这会引发错误: 没有与给定名称和参数类型匹配的函数。你可能需要 添加显式类型转换的步骤 更详细地说,我试图在Postgresql中获得字符串的数字部分和字符串部分。我发现这样的例子: SELECT Section FROM dbo.Section ORDER BY LEFT(Se
SELECT PATINDEX('%schools%', 'W3Schools.com');
这会引发错误:
没有与给定名称和参数类型匹配的函数。你可能需要
添加显式类型转换的步骤
更详细地说,我试图在Postgresql中获得字符串的数字部分和字符串部分。我发现这样的例子:
SELECT Section
FROM dbo.Section
ORDER BY LEFT(Section, PATINDEX('%[0-9]%', Section)-1), -- alphabetical sort
CONVERT(INT, SUBSTRING(Section, PATINDEX('%[0-9]%', Section), LEN(Section))) -- numerical
有两种实现方法,示例如下:
postgres=# select strpos('W3Schools.com','Schools');
strpos
--------
3
(1 row)
postgres=# select position('Schools' in 'W3Schools.com');
position
----------
3
(1 row)
postgres=# select regexp_matches('hahahabc123zzz', '(abc)(123)');
regexp_matches
----------------
{abc,123}
postgres=# select array_to_string(regexp_matches('hahahabc123zzz', '(abc)(123)'),' ');
array_to_string
-----------------
abc 123
postgres=# select (regexp_matches('hahahabc123zzz', '(abc)(123)'))[1] as a, (regexp_matches('hahahabc123zzz', '(abc)(123)'))[2] as b;
a | b
-----+-----
abc | 123
(1 row)
你想要这个吗?
您可以在这里获得字符串处理的所有函数:您可以尝试函数:
SELECT POSITION('schools' in 'W3Schools.com');
对不起,我编辑了这个问题。你能再给我一个吗answer@NguyenHoangVu-K11FUGHCM我希望您需要
regexp\u matches()
对不起,我编辑了这个问题。你能再给我一个吗answer@NguyenHoangVu-K11FUGHCM那么你想得到一个子字符串吗?你能给出一些示例数据吗?abc123,我需要将“abc”和“123”分开。谢谢你有字符串路径的正则表达式吗?我发现数值路径(\d+)“abc123”只是一个例子^^^,但感谢您对regexp_匹配的帮助。我正在努力