Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何获取字符串的regexp\u substr_Sql_Oracle - Fatal编程技术网

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'))