【发布时间】:2010-07-29 19:17:39
【问题描述】:
我需要将逗号分隔的文本转换为一组记录。我创建了这个功能 但我不相信最好的方法:
CREATE OR REPLACE FUNCTION F_StringListToRecord(pStringList TEXT, pDelimiter VARCHAR(10)) RETURNS SETOF RECORD AS $$
DECLARE
vIndex INT;
arrSize INT;
arrValue TEXT[];
BEGIN
arrValue := STRING_TO_ARRAY(pStringList, pDelimiter);
arrSize := ARRAY_UPPER(arrValue, 1);
FOR vIndex IN 1..arrSize LOOP
RETURN QUERY SELECT arrValue[vIndex];
END LOOP;
END $$
LANGUAGE plpgsql;
还有其他类似STRING_TO_ARRAY(可能是STRING_TO_RECORD)的函数吗?
【问题讨论】:
标签: database postgresql stored-procedures function