Sql 如何获取字符串的regexp\u substr
在我的表中,对于包含以下值的行Sql 如何获取字符串的regexp\u substr,sql,oracle,Sql,Oracle,在我的表中,对于包含以下值的行 sample>test Y10, Sample> y21 我想从所有行中得到一个像y10,y21这样的子字符串。我可以知道怎么买吗。我尝试使用regexp_substr,Instr,但没有找到解决方案。我假设列中的字符串被一个空格分隔。 它将为您提供最后发生的事件,这些事件将被“”分隔为一个空格 或者可以使用regexp\u substr实现这一点 假设yxx前面总是有一个空格,那么应该很容易做到: TRIM(REGEXP_SUBSTR(myco
sample>test Y10,
Sample> y21
我想从所有行中得到一个像y10,y21这样的子字符串。我可以知道怎么买吗。我尝试使用regexp_substr,Instr,但没有找到解决方案。我假设列中的字符串被一个空格分隔。 它将为您提供最后发生的事件,这些事件将被“”分隔为一个空格 或者可以使用regexp\u substr实现这一点 假设yxx前面总是有一个空格,那么应该很容易做到:
TRIM(REGEXP_SUBSTR(mycolumn, ' y\d+', 1, 1, 'i'))
上面的正则表达式将抓取y注意,它不区分大小写,因此它也将抓取y,后跟一个或多个不定数字。如果只想获取两位数字,请将\d+替换为\d{2}
另外,请注意,它只会出现第一次。获取多个实例稍微复杂一些,但仍然可以完成
regexp_substr(your_String, '[^[:space:]]+', 1, -1 )
TRIM(REGEXP_SUBSTR(mycolumn, ' y\d+', 1, 1, 'i'))