【发布时间】:2019-05-23 19:47:21
【问题描述】:
我需要使用 oracle 11g 中的 sql 从存储在文本字段中的键/值对中提取值。
我可以用
检测到“钥匙” SELECT *
FROM mytable
WHERE valuet2 LIKE '%' || chr(10) || 'F;' || '%'
但我不知道这是最好的搜索方式,我不知道如何返回可变长度的值(最多,但不包括回车)。
这是我需要搜索并从中提取值的文本字段。
;Please Select;*
E;Expelled
F;Expelled Following Suspension
N;In-School Suspension
S;Out-of-School Suspension
BS;Bus Suspension
101;Detention
130;Conference / Warning
131;Parent Contact / Conference
200;Loss of Recess
我正在查询存储“键”的单独表,因此我需要从该文本字段进行查找以确定该键值代表什么。我将把这个查询推送到其他服务器,这些服务器将拥有自己独特的键/值对组合,我无法预料这些可能是什么。因此,我无法编写解码。
【问题讨论】:
-
您可以通过以下方式选择最大但不包括回车的可变长度: select substr(fieldname,1,instr(fieldname,(chr(10)))) from my_table;