根据连字符

时间:2017-02-04 07:19:09

标签: sql oracle split oracle8i

我有一个像这样的字符串

XX0099-X01

我想根据连字符将字符串拆分为两个,即 XX0099X01

我试过

SELECT 'XX0099-X01',
           SUBSTR('XX0099-X01',
                  1,
                  INSTR('XX0099-X01',
                        '-',
                        1
                        ) -1
                  )
    FROM   dual

不确定如何获得第二部分。

我们有一个旧的遗留系统仍在使用8i Oracle数据库。

2 个答案:

答案 0 :(得分:2)

使用select substr(s, 1, instr(s, '-') - 1), substr(s, instr(s, '-') + 1) from t; regexp_substr的组合:

select 
  regexp_substr('XX0099-X01','[^-]+', 1, 1),
  regexp_substr('XX0099-X01','[^-]+', 1, 2)
from dual;

另一种方法是使用{{1}}如果支持:

{{1}}

答案 1 :(得分:2)

如果你不能使用正则表达式子串/替换,这里有一个使用Oracle基本字符串函数的选项:

instagram.use({access_token: 'asdasdasd.adad.gggggggggggggggg'});

instagram.user_search('arsenal', function (err, result, remaining, limit) {
            console.log(result)

            instagram.user_media_recent(result[0].id, function (err, result2, remaining, limit) {
                console.log(result2)
            });

        });