当前位置:文档之家› informix数据库聚集函数字符串拼接

informix数据库聚集函数字符串拼接

--字符串拼接(用逗号分隔,聚合函数)开始

CREATE FUNCTION str_splice_init (dummy lvarchar(4000))
RETURNING lvarchar(4000);
RETURN '';
END FUNCTION;

CREATE FUNCTION str_splice_iter (result lvarchar(4000), value lvarchar(4000))
RETURNING lvarchar(4000);
if(result=='') then
RETURN value;
else
RETURN result ||','|| value;
END IF;
END FUNCTION;

CREATE FUNCTION str_splice_combine(partial1 lvarchar(4000), partial2 lvarchar(4000))
RETURNING lvarchar(4000);
RETURN partial1 || partial2;
END FUNCTION;

CREATE FUNCTION str_splice_final(final lvarchar(4000))
RETURNING lvarchar(4000);
RETURN final;
END FUNCTION;

CREATE AGGREGATE str_splice WITH
(INIT = str_splice_init,
ITER = str_splice_iter,
COMBINE = str_splice_combine,
FINAL = str_splice_final);
--字符串拼接(用逗号分隔,聚合函数)结束

测试样例:
select str_splice(username) from users group by username
测试结果:
用户a,用户b,用户c

相关主题
文本预览
相关文档 最新文档