我有一个带有空格的字符串,我需要获取空格之前的第一个字符串(它可以是数字)。 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
SELECT Rtrim(Substr('123642134 10',1,Instr('123642134 10',' '))) AS quarter_cd FROM dual; 在上述查询中使用的字符串函数用途 Instr() - 获取给定字符串中任何字符或空格的位置。 Substr() - 从给定字符串中获取子字符串。 Rtrim() - 从右侧删除空格。
^
从字符串的开头开始,[^ ]
匹配非空格字符。+
表示匹配 1 次或多次(因此匹配 1 个或多个非空格字符)。如果您只想匹配数字,可以使用 '^[0-9]+'。 - DazzaL