我有一个触发器功能,可以将新字段插入另一个表格。
在新行中有一些字段,其中包含几个字样 - 无理由 触发器功能将此文本作为“无原因”插入表格的字段 - 使用双引号,
表字段的类型是字符变化(4000)
我使用RETURN regexp_replace(v_value, '[\n\r]+', ' ', 'g' )
删除\ n和\ r \ n但是我没有成功删除双引号。
-----------------------------Formatting Function------------------------
CREATE OR REPLACE FUNCTION format_value(v_value text, format integer)
RETURNS character varying AS
$BODY$
BEGIN
-- Empty Value
IF COALESCE(v_value, '') = '' OR v_value is null THEN
RETURN v_value;
END IF;
-- 1 - TIME
IF format = 1 THEN
RETURN to_char(to_timestamp(replace(v_value, '"', ''), 'YYYY-MM-DD HH24:MI'), 'HH24:MI');
END IF;
-- 2 - DATE
IF format = 2 THEN
RETURN to_char(to_date(replace(v_value, '"', ''), 'YYYY-MM-DD'), 'YYYY-MM-DD');
END IF;
-- 3 - BOOL
IF format = 3 THEN
IF v_value = 'f' THEN
RETURN '0';
END IF;
IF v_value = 't' THEN
RETURN '1';
END IF;
END IF;
-- 4 - INT
IF format = 4 THEN
RETURN to_char(v_value::int,'99');
END IF;
-- 5 - TEXT
IF format = 5 THEN
RETURN regexp_replace(v_value, '[\n\r]+', ' ', 'g' );
END IF;
RETURN v_value;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION public.cc_date_cleaner(character varying)
OWNER TO postgres;
感谢。
答案 0 :(得分:0)
解决我问题的代码是:
RETURN REPLACE(regexp_replace(v_value, '[\n\r]+', ' ', 'g' ),'"','');
谢谢,