CREATE OR REPLACE FUNCTION update_data_modified_column() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = CURRENT_TIMESTAMP; RETURN NEW; END; $$ LANGUAGE plpgsql VOLATILE; -- 创建自动格式化小数的函数(按需去除尾部多余0) CREATE OR REPLACE FUNCTION format_numeric_to_original(n NUMERIC) RETURNS TEXT AS $$ BEGIN -- 逻辑:如果是整数(小数部分全0),返回整数文本;否则返回去除尾部0的文本 IF n = TRUNC(n) THEN RETURN TRUNC(n)::TEXT; -- 整数场景:1.000000 → '1' ELSE RETURN TRIM(TRAILING '0' FROM TRIM(TRAILING '.' FROM n::TEXT)); -- 小数场景:1.230000 → '1.23',1.002000 → '1.002' END IF; END; $$ LANGUAGE plpgsql IMMUTABLE; -- IMMUTABLE:相同输入返回相同输出,支持索引