我是oracle的新手,我希望从列中获取值,该列存储为" Ashu || 123 ||主菜单| ENG || 1 | 1 &# 34 ;. 正如您所看到的,每个值都以||分隔符号。在上面的值Ashu是客户名称,123是id,我想要两个值作为客户名称和客户ID。
答案 0 :(得分:1)
在下面的查询中,我“动态”包含一些测试数据(不是解决方案的一部分;在主查询中使用实际的表名而不是test_data
,而不是{的实际列名{1}})。我在测试中包含了几个特殊情况,以确保查询在所有情况下都能正常工作。我假设第一个值(在第一个str
之前)是客户名称,第二个值是客户ID,并且可以忽略输入字符串的其余部分。我特别注意查看该查询是否正确处理||
值(假设它们可能出现在您的数据中)。
我将客户ID留作字符串;如果必须是数字,最好将其全部包含在null
内。
to_number()