我需要从单个字符串中获取三个子字符串。 例如,如果字符串是abc-def-ghi,我需要选择abc为1列,def为第2列,ghi为第3列。
答案 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将字符串拆分为两个或多个子字符串