在我的表中,包含像
这样的值的行sample>test Y10,
Sample> y21
我希望从所有行中获取类似y10
,y21
的子字符串。我可以知道如何得到它。我尝试使用regexp_substr,Instr
但无法找到解决方案。
答案 0 :(得分:0)
我假设您的列中的字符串由single space
分隔。
它将为您提供最后一次出现,将被' '
空格
substr(your_string, 1, instr(yourString,' ') - 1)
或者您可以使用regexp_substr
regexp_substr(your_String, '[^[:space:]]+', 1, -1 )
答案 1 :(得分:0)
假设yxx
总是以空格开头,那应该像这样简单:
TRIM(REGEXP_SUBSTR(mycolumn, ' y\d+', 1, 1, 'i'))
上面的正则表达式将抓取y
(请注意,它不区分大小写,因此它也会抓取Y
),后跟一个不确定数字(一个或多个)的数字。如果您只想抓取两位数,请将\d+
替换为\d{2}
。
另外,请注意它只会出现第一次。多次出现有点复杂,但仍然可以完成。