Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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 如何在oracle中从字符串中提取4个字符?_Sql_Database_Oracle - Fatal编程技术网

Sql 如何在oracle中从字符串中提取4个字符?

Sql 如何在oracle中从字符串中提取4个字符?,sql,database,oracle,Sql,Database,Oracle,通过使用下面的查询,我能够获取一个特定的字符串。现在这个输出字符串包含字母数字字符。例如abcd123、pqrs542356。 现在我只想获取这个字符串的前4个字符,它将始终是alpha-bates 查询:: (SELECT SUBSTR(in_msg, INSTR( in_msg,'?', 1, 10 )+ 1, INSTR(in_msg,'?', 1, 11 ) - INSTR( in_msg,'?', 1, 10 )- 1) FROM emp_message WHERE emp_no

通过使用下面的查询,我能够获取一个特定的字符串。现在这个输出字符串包含字母数字字符。例如abcd123、pqrs542356。 现在我只想获取这个字符串的前4个字符,它将始终是alpha-bates

查询::

(SELECT SUBSTR(in_msg, INSTR( in_msg,'?', 1, 10 )+ 1, INSTR(in_msg,'?', 1, 11 ) - INSTR( in_msg,'?', 1, 10 )- 1)
 FROM emp_message 
WHERE emp_no IN (SELECT emp_no 
                   FROM main_table 
                  WHERE name like '%abcd%')
此查询返回输出,例如abcd1234、pqrs145423。 同样,我只想从这个查询输出中获取前4个字符。 有人能帮我一下吗。

这是:

SUBSTR(field, 0, 4)
这是:

SUBSTR(field, 0, 4)
您可以使用substr(就像您已经做的那样):

您可以使用substr(就像您已经做的那样):


@Thilo:oops,这并不明显:-S0被视为1,负索引从右侧开始计数:@Thilo:我知道负数。我的意思是所有编程语言都从0开始计算字符位置@Thilo:oops,这并不明显:-S0被视为1,负索引从右侧开始计数:@Thilo:我知道负数。我的意思是所有编程语言都从0开始计算字符位置
SUBSTR(value, 1, 4)