---
DROP FUNCTION REPLACE(VARCHAR,VARCHAR,VARCHAR);
CREATE FUNCTION REPLACE(VARCHAR,VARCHAR,VARCHAR) RETURNS VARCHAR AS '
DECLARE
v_data ALIAS FOR $1;
v_match ALIAS FOR $2;
v_replace ALIAS FOR $3;
p int;
str varchar;
temp varchar;
BEGIN
temp := v_data;
p := instr(temp,v_match);
WHILE p > 0 LOOP
temp := substr(temp,1,p-1) || v_replace || substr(temp, p+length(v_match));
p := instr(temp, v_match, p + length(v_replace), 1);
END LOOP;
str := temp;
return str;
END;
' LANGUAGE 'plpgsql';
最終更新:2008年11月16日 12:11