选择子字符串到db2 sql中的特定字符

时间:2014-08-12 08:49:16

标签: sql db2

我需要从单个字符串中获取三个子字符串。 例如,如果字符串是abc-def-ghi,我需要选择abc为1列,def为第2列,ghi为第3列。

2 个答案:

答案 0 :(得分:0)

您可以使用posstr函数在字符串中查找字符,然后使用substr函数从字符串中检索部件。这可以通过匿名块或存储过程来完成。

你把它放在一个函数(UDF)中:

set index = posstr(string, '-');
if (index <> 0) then -- Recursive case
 set pre = substr(string, index-1);
 set pos = substr(string, index+1);
else -- Base case
 set pre = substr(string, index-1);
end if;

根据逻辑,您可以在临时表中插入这些值并返回结果集。

答案 1 :(得分:0)

我已经使用Locate命令和substr将字符串拆分为两个或多个子字符串