我有两个具有相同JSON列的表。我的查询需要联合两者中的一些行。问题是 UNION 修剪了结果(请参阅:http://sqlfiddle.com/#!9/506e43/1/1(。这里的解决方案(在 UNION ALL 之后截断的 Teradata 字符串(是将列转换为 CHAR(n(,但就我而言,这不起作用,因为结果的长度可能在 200 到 2000 个字符(有时更多(之间变化。
有没有更好的解决方案?
我不确定这是否是 UNION 的问题,但我在一个应用程序上遇到了非常相似的问题,该应用程序为大型合作伙伴崩溃 - 我们发现 MySQL group_concat硬修剪输出。对我们来说,任何超过 1024 个字符的东西都被丢弃了 - 因为我们期待 XML - 不需要的输出。
您可以在 my.ini 文件中将 group_concat 的最大长度设置为更大的长度,或者如果您需要临时的大东西,我们有时会在会话期间设置它,如下所示:MySQL 和 GROUP_CONCAT(( 最大长度
(来自上面的帖子(
SET SESSION group_concat_max_len = 1000000;
select group_concat(column) from table group by column
以下是他们文档中的信息 - 您可以单击该属性以获取更多信息:https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_group-concat