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

问题描述 投票:8回答:2

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

 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
sql regex oracle
2个回答
19
投票
Substr (quarter_cd, 1,instr(quarter_cd,' ') - 1)

应该这样做。


0
投票
SELECT Rtrim(Substr('123642134  10',1,Instr('123642134  10',' '))) AS quarter_cd FROM dual;

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

  • Instr() - 从给定字符串中获取任何字符或空格的位置。
  • Substr() - 从给定的字符串中获取子字符串。
  • Rtrim() - 从右侧移除空格。
© www.soinside.com 2019 - 2024. All rights reserved.