相关疑难解决方法(0)

在DB2中拆分VARCHAR以检索其中的值

我有一个VARCHAR包含5个以' ' 分隔的信息(2 CHAR(3)和3 TIMESTAMP)的列$.

CREATE TABLE MYTABLE (
  COL VARCHAR(256) NOT NULL
);

INSERT INTO MYTABLE 
VALUES
    ( 'AAA$000$2009-10-10 10:50:00$null$null$null' ),
    ( 'AAB$020$2007-04-10 10:50:00$null$null$null' ),
    ( 'AAC$780$null$2007-04-10 10:50:00$2009-04-10 10:50:00$null' )
;
Run Code Online (Sandbox Code Playgroud)

我想提取第4场......

'AAA$000$2009-10-10 10:50:00$null$null$null'
                             ^^^^ this field
Run Code Online (Sandbox Code Playgroud)

...有类似的东西

SELECT SPLIT(COL, '$', 4) FROM MYTABLE

1
-----
'null'
'null'
'2009-04-10 10:50:00'
Run Code Online (Sandbox Code Playgroud)

我按顺序搜索:

  1. DB2内置字符串函数
  2. 一个可嵌入的声明,如SUBSTR(COL, POSSTR(COL)+1)...
  3. 用户定义的函数,其行为类似于 SPLIT

精度:是的,我知道这是不是有这样的列个好主意......

sql string db2 split

7
推荐指数
1
解决办法
3万
查看次数

如何将逗号分隔列转换为db2中的多个行

我有下表(引用的数量是可变的):

Id | FK_ID| Reference |
-----------------------
1    2100   GI2, GI32
2    2344   GI56
Run Code Online (Sandbox Code Playgroud)

我需要以下结果:

Id | FK_ID| Reference |
-----------------------
1    2100   GI2 
2    2100   GI32
3    2344   GI56
Run Code Online (Sandbox Code Playgroud)

有没有使用DB2转换数据的简短方法?

sql db2 transform function rows

3
推荐指数
1
解决办法
6518
查看次数

标签 统计

db2 ×2

sql ×2

function ×1

rows ×1

split ×1

string ×1

transform ×1