首页 >数据库 >mysql教程 >如何在 Oracle SQL 中提取下划线之前的子字符串?

如何在 Oracle SQL 中提取下划线之前的子字符串?

Patricia Arquette
Patricia Arquette原创
2024-12-29 00:26:09451浏览

How to Extract Substrings Before an Underscore in Oracle SQL?

在 Oracle SQL 中提取特定字符的子字符串

问题:
从包含之前具有不同字符序列的结果的列中选择子字符串下划线(“_”)字符,同时排除下划线

解决方案:

为了达到预期的结果,SQL 函数的组合提供了解决方案:

说明:

  • SUBSTR 函数提取从以下位置开始的子字符串指定的位置 (0) 并继续指定的长度。
  • INSTR 函数确定字符串中下划线字符第一次出现的位置。
  • NVL 函数计算出第一个非null 值,确保不带下划线字符的子字符串返回原始值。
  • INSTR(column, '_') 减 1 确保仅下划线之前的字符包含在输出。

示例:

给定:

查询:

结果:

注:

对于Oracle10g版本中,REGEXP_SUBSTR函数可以用来替代SUBSTR:

以上是如何在 Oracle SQL 中提取下划线之前的子字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn