SQL在第二个逗号之后获取字符串

发布于 2025-02-04 04:00:17 字数 122 浏览 2 评论 0原文

我有这样的字符串:

'ing。 ,Jožko,Mrkvička,bc。'

,我只需要:

'Mrkvička'

谢谢。

I have string like this:

'Ing. , Jožko, Mrkvička, Bc.'

and I need just:

'Mrkvička'

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

独自唱情﹋歌 2025-02-11 04:00:17

不是最干净的解决方案。但是可以这样完成,

 SELECT SUBSTRING_INDEX (SUBSTRING_INDEX("Ing. , Jožko, Mrkvička, Bc.", ',', -2),',',1)

它将为您提供所需的输出

Not the cleanest solution. But it can be done like this

 SELECT SUBSTRING_INDEX (SUBSTRING_INDEX("Ing. , Jožko, Mrkvička, Bc.", ',', -2),',',1)

It will give you your desired output

尝蛊 2025-02-11 04:00:17

在mysql中:

select substring_index(substring_index('Ing. , Jožko, Mrkvička, Bc.', ',', 3), ',', -1)

in mysql:

select substring_index(substring_index('Ing. , Jožko, Mrkvička, Bc.', ',', 3), ',', -1)
奶茶白久 2025-02-11 04:00:17

You can try with the following query:

SELECT TOP 1 TRIM(value)
FROM STRING_SPLIT('Ing. , Jožko, Mrkvička, Bc.', ',')
ORDER BY CASE WHEN ROW_NUMBER() OVER(ORDER BY (SELECT 1)) = 3 
              THEN 0 
              ELSE 1 END 

The

尝试

该解决方案适用于SQL Server。

You can try with the following query:

SELECT TOP 1 TRIM(value)
FROM STRING_SPLIT('Ing. , Jožko, Mrkvička, Bc.', ',')
ORDER BY CASE WHEN ROW_NUMBER() OVER(ORDER BY (SELECT 1)) = 3 
              THEN 0 
              ELSE 1 END 

The STRING_SPLIT function will split your string on the delimiter of your choice (,), then the results are ordered on the rank using the ROW_NUMBER window function and limited at only one result with TOP 1.

Try it here.

This solution works for SQL Server.

往事随风而去 2025-02-11 04:00:17

对于PostgreSQL:

select regexp_matches('Ing. , Jožko, Mrkvička, Bc.', '[^,]+,[^,]+,\s+([^,]+),')

For PostgreSQL:

select regexp_matches('Ing. , Jožko, Mrkvička, Bc.', '[^,]+,[^,]+,\s+([^,]+),')
不交电费瞎发啥光 2025-02-11 04:00:17

我希望按下以下

select regexp_matches('Ing. , Jožko, Mrkvička, Bc.', '[^,]+,[^,]+\s+,([^,]+),') 
from yourTable

输入:

'Ing. , Jožko, Mrkvička, Bc.'

输出:

'Mrkvička'

此解决方案适用于PostgreSQL。

I would prefer doing a regex as below

select regexp_matches('Ing. , Jožko, Mrkvička, Bc.', '[^,]+,[^,]+\s+,([^,]+),') 
from yourTable

Input :

'Ing. , Jožko, Mrkvička, Bc.'

Output :

'Mrkvička'

This solution works for PostgreSQL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文