Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
在Oracle中仅按名称获取子字符串_Oracle_Substring - Fatal编程技术网

在Oracle中仅按名称获取子字符串

在Oracle中仅按名称获取子字符串,oracle,substring,Oracle,Substring,我有以下数据: FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542 FlujodeTrabajoGrado22 ANDRES BECERRA DUARTE 1098456123 等等 我使用此选项选择: SELECT SUBSTR('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542', INSTR('FlujodeTrabajoGrad

我有以下数据:

FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542
FlujodeTrabajoGrado22 ANDRES BECERRA DUARTE 1098456123
等等

我使用此选项选择:

SELECT SUBSTR('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542',
               INSTR('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542',
                     ' ',1)
              ) 
 FROM DUAL  
但我得到的是:

SONIA XIMENA PARRA ARDILA U00053542
结果必须是:

SONIA XIMENA PARRA ARDILA

ANDRES BECERRA DUARTE

你还需要删除句子的结尾

如果您想要substr-only方法,可以使用

  SELECT SUBSTR('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542', 
      INSTR('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542',' ',-1) + 1)
  FROM dual

你还需要删除句子的结尾

如果您想要substr-only方法,可以使用

  SELECT SUBSTR('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542', 
      INSTR('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542',' ',-1) + 1)
  FROM dual
您可以利用:

如果您不确定单词之间有多少空格(或制表符),请使用正则表达式模式
^\w++(.*)++\w++$

SELECT regexp_replace('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542',
'^\w+ +(.*) +\w+$',
'\1') 
 FROM DUAL;
您可以利用:

如果您不确定单词之间有多少空格(或制表符),请使用正则表达式模式
^\w++(.*)++\w++$

SELECT regexp_replace('FlujodeTrabajoGrado22 SONIA XIMENA PARRA ARDILA U00053542',
'^\w+ +(.*) +\w+$',
'\1') 
 FROM DUAL;

像这样的。第一个
instr()。然后,第二个
instr()
,以及第三个参数
-1
,找到从字符串末尾开始的空间计数的“第一次”出现(减号表示它),我们在算术计算中使用它来指示所需子字符串的长度

这假设您要检索第一个和最后一个空格字符之间的所有内容(不包括它们)


像这样的。第一个
instr()。然后,第二个
instr()
,以及第三个参数
-1
,找到从字符串末尾开始的空间计数的“第一次”出现(减号表示它),我们在算术计算中使用它来指示所需子字符串的长度

这假设您要检索第一个和最后一个空格字符之间的所有内容(不包括它们)


从您发布的输入和查询中,您无法获得所显示的内容。子字符串还将包括前导空格!从您发布的输入和查询中,您无法获得所显示的内容。子字符串还将包括前导空格!