如何使用 PostgreSql 中的子字符串函数从字符串中提取单词

Posted

技术标签:

【中文标题】如何使用 PostgreSql 中的子字符串函数从字符串中提取单词【英文标题】:how to extract a word from string using substring function in PostgreSql 【发布时间】:2021-09-11 19:49:07 【问题描述】:

这是字符串:atlngahpig001_to_atlngahpig002-GatewayCallStats 我需要从中提取 atlngahpig001 代替 altnagahpig001 可能还有其他的

谁能找到解决方案如何使用子字符串函数来获取它?

【问题讨论】:

【参考方案1】:

如果你需要一个更通用的解决方案,假设字符串格式是一致的,你可以使用,

SELECT split_part('atlngahpig001_to_atlngahpig002-GatewayCallStats', '_', 1);

【讨论】:

"我使用了以下子字符串 select substring("INSTANCE_ID" from '%_to_#"_%#"-%' for '#') 从中提取 atlngahpig002,这里是 "INSTANCE_ID" -atlngahpig001_to_atlngahpig002- GatewayCallStats,但我需要提取这个“atlngahpig001”,即第一个词,你能帮我吗? select substring('atlngahpig001_to_atlngahpig002-GatewayCallStats' from '#"_%#"_to_%-%' for '#')【参考方案2】:

这取决于您要如何查找字符串,但您可以这样做

SELECT SUBSTRING('atlngahpig001_to_atlngahpig002-GatewayCallStats', 1, 13)

【讨论】:

以上是关于如何使用 PostgreSql 中的子字符串函数从字符串中提取单词的主要内容,如果未能解决你的问题,请参考以下文章

如何从 C++ 中的 getline 函数中提取特定的子字符串?

如何在 Laravel 8 中使用 PostgreSQL 中的子查询通过 group by 子句获取行值?

如何从 PostgreSQL 的子查询中选择包含值数组的列?

如何将从函数返回的布尔值分配给 PostgreSQL 9.4 中的变量?

如何编写循环条件以获取 postgresql 中的子子文件夹名称

如何从postgresql中的字符串中删除特殊字符