DELIMITER //
CREATE AGGREGATE FUNCTION json_merge_preserve_agg(j TINYTEXT) RETURNS TEXT DETERMINISTIC
BEGIN
DECLARE r TEXT;
DECLARE CONTINUE HANDLER FOR NOT FOUND return r;
LOOP
FETCH GROUP NEXT ROW;
IF r IS NULL THEN
SET r = j;
ELSE
SET r = JSON_MERGE_PRESERVE(r, j);
END IF;
END LOOP;
END //
1条答案
按热度按时间kfgdxczn1#
例如,创建SQL函数:
一些示例数据:
使用函数返回结果:
使用sql alchemeny中的函数类似于this answer:
参考:fiddle
参考:aggregate functions of MariaDB
注意:仅限MariaDB-10.3+,MySQL没有聚合(非UDF)函数。