Sql 如何在oracle中从字符串中提取4个字符?
通过使用下面的查询,我能够获取一个特定的字符串。现在这个输出字符串包含字母数字字符。例如abcd123、pqrs542356。 现在我只想获取这个字符串的前4个字符,它将始终是alpha-bates 查询::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
(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)