从DB2列获取子字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从DB2列获取子字符串相关的知识,希望对你有一定的参考价值。

我有:AAAA / DATA1 / Data2; xyx; pqr这个我想要的数据:DATA1和Data2

答案

如果这是针对特定行,也许使用SUBSTR?就像是

SELECT 
  SUBSTR(column, 6, 5) AS col1
, SUBSTR(column, 13, 5) AS col2
 FROM table

这是你可以做的其他事情..虽然它变得非常复杂,但这不是你正在寻找的确切答案,但它会让你开始。希望这可以帮助:

WITH test AS (
SELECT characters
  FROM ( VALUES
  (   'AAAA/DATA1/Data2;xyx;pqr'
  ) )
    AS testing(characters)
)
SELECT 
    SUBSTR(characters, 1, LOCATE('/', characters) - 1) AS FIRST_PART
  , SUBSTR(characters, LOCATE('/', characters) + 1) AS SECOND_PART
  , SUBSTR(characters, LOCATE('/', characters, LOCATE('/', characters) + 1) + 1) 
      AS THIRD_PART
    FROM test
;

遗憾的是,DB2没有这个功能。看看这个答案:How to split a string value based on a delimiter in DB2

以上是关于从DB2列获取子字符串的主要内容,如果未能解决你的问题,请参考以下文章

DB2 SQL更新与子查询相关的多于1列[duplicate]

如何通过SQL从IBM db2中的查询中获取列名

如何将图像视图从改造加载的片段传递给子片段?

从 DB2 视图中获取数据

从数据库中获取子字符串并存储到表中

DB2:需要获取给定db2表的列列表和不同的值计数