【发布时间】:2013-10-17 21:49:23
【问题描述】:
我有一个名为 lex 的表,其中包含一个名为 CHARGE_CODE_DESCR 的字符串列。
行由具有这种结构的字符串组成:
USPOB000 - SMS usluga- Pobjeda
U211 - Video i Data pozivi
...
...
我想将第一个单词(- 之前)放入名为 VALUE 的列中,并将所有其余单词(- 之后)放入名为 TEXT 的第二列中。
例如,我想从前两行得到这些结果:
VALUE TEXT
USPOB000 SMS usluga- Pobjeda
U211 Video i Data pozivi
为了得到第一个单词,我写了这个查询:
SELECT DISTINCT regexp_substr(CHARGE_CODE_DESCR,'\w+') as VALUE from lex
为了得到我写了这个查询的其余文本:
SELECT DISTINCT SUBSTR(Text, 3, LENGTH(Text)) as TEXT
FROM
(
select SUBSTR(CHARGE_CODE_DESCR, INSTR(CHARGE_CODE_DESCR, '- ')) as Text from lex
)
如何将它们结合在一个查询中,以便从每一行数据中创建所需的两列?
【问题讨论】:
标签: sql string oracle oracle11g