Oracle在空格之前获取子字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle在空格之前获取子字符串相关的知识,希望对你有一定的参考价值。

我有一个中间有空格的字符串,我需要在空格之前得到第一个字符串(可以是数字)。

 WITH test_data AS (
  SELECT '123642134  10' AS quarter_cd FROM dual UNION ALL --VALID
)

 select *
  from test_data
 where regexp_like(quarter_cd, '', 'c')

输出应该是:

123642134
答案
Substr (quarter_cd, 1,instr(quarter_cd,' ') - 1)

应该这样做。

另一答案
SELECT Rtrim(Substr('123642134  10',1,Instr('123642134  10',' '))) AS quarter_cd FROM dual;

上层查询中使用的字符串函数的使用

  • Instr() - 从给定字符串中获取任何字符或空格的位置。
  • Substr() - 从给定的字符串中获取子字符串。
  • Rtrim() - 从右侧移除空格。

以上是关于Oracle在空格之前获取子字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在空格后获取子字符串?

Pyspark SparkSQL 正则表达式在空格前获取子字符串

小程序各种功能代码片段整理---持续更新

Oracle SQL 查询:按空格分割字符串并获取第 n 个字符串

Oracle sql:仅获取子字符串的特定部分

在 Oracle 中使用 REGEXP_SUBSTR 作为拆分