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

时间:2013-01-31 08:27:40

标签: sql regex 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

2 个答案:

答案 0 :(得分:19)

Substr (quarter_cd, 1,instr(quarter_cd,' ') - 1)

应该这样做。

答案 1 :(得分:0)

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

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

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