GBase 8s
其他
问答
sql查询不能使用concat函数吗,有没有其它替代函数
发表于2025-04-17 15:36:59149次浏览3个评论
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:GBase8sV8.8_3.5.1_3x2_7
【操作系统】:统信系统
【CPU】:无
【问题描述】*:sql使用concat函数时,提示不能解析例行程序

评论
登录后才可以发表评论
路路路发表于 1年前
稍等
liaosnet发表于 1年前
concat 仅支持两个参数,如果有多个参数,建议使用 col || col2 || col3 这样的(即使用 || 连接符)
如果不想改代码,又能接受性能损失,可自建concat 函数。
DROP FUNCTION IF EXISTS concat(
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR
);
CREATE FUNCTION concat(
s1 VARCHAR(255),
s2 VARCHAR(255),
s3 VARCHAR(255),
s4 VARCHAR(255) DEFAULT '',
s5 VARCHAR(255) DEFAULT '',
s6 VARCHAR(255) DEFAULT '',
s7 VARCHAR(255) DEFAULT '',
s8 VARCHAR(255) DEFAULT ''
)
RETURNS VARCHAR(255) WITH( NOT variant )
ON EXCEPTION
RETURN NULL;
END EXCEPTION;
RETURN s1 || s2 || s3 || s4 || s5 || s6 || s7 || s8;
END FUNCTION;
如果不想改代码,又能接受性能损失,可自建concat 函数。
DROP FUNCTION IF EXISTS concat(
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR,
VARCHAR
);
CREATE FUNCTION concat(
s1 VARCHAR(255),
s2 VARCHAR(255),
s3 VARCHAR(255),
s4 VARCHAR(255) DEFAULT '',
s5 VARCHAR(255) DEFAULT '',
s6 VARCHAR(255) DEFAULT '',
s7 VARCHAR(255) DEFAULT '',
s8 VARCHAR(255) DEFAULT ''
)
RETURNS VARCHAR(255) WITH( NOT variant )
ON EXCEPTION
RETURN NULL;
END EXCEPTION;
RETURN s1 || s2 || s3 || s4 || s5 || s6 || s7 || s8;
END FUNCTION;
最佳回答
GBase用户51840发表于 2个月前
学习了
热门帖子
- 12025-12-01浏览数:182763
- 22023-05-09浏览数:25057
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528