如何定位下划线在字符串中的位置(Oracle SQL)

1zmg4dgp  于 2023-03-17  发布在  Oracle
关注(0)|答案(1)|浏览(182)

1.我试图返回一个列,该列标识下划线()所在的位置。
示例数据:串1_串2
例如,如果我使用LENGTH函数,我可以返回字符串的长度:
选择长度(第1列)
回返者-15
但是我想找到下划线(
)在字符串中的长度和位置。我正在尝试,SELECT INSTR('',COLUMN 1)。所有这些返回的结果是所有行都是0...
使用上面的示例数据,我期望结果为8。
1.标识下划线()的长度/位置的原因是为了在SUBSTR函数中使用它从第一个下划线()开始分隔字符串,例如:
选择底物(第1、1、/* 列未修饰位置 */ -1)
应返回-STRING 1
INSTR('
',COLUMN 1)似乎找不到下划线。如何在select语句中正确转义下划线?
我是否需要一个不同的函数来实现我的结果?

uqdfh47h

uqdfh47h1#

你已经把输入参数的顺序换成了INSTR(),它希望先搜索字符串,然后搜索子字符串,使用这个版本应该可以:

SELECT COLUMN1, INSTR(COLUMN1, '_') AS pos
FROM yourTable;

相关问题