使用UNION的MySQL查询返回修剪后的字符串

时间:2018-03-09 23:02:14

标签: mysql database union

我有两个具有相同JSON列的表。我的查询需要UNION来自两个行。问题是UNION修剪结果(参见:http://sqlfiddle.com/#!9/506e43/1/1)。 这里的解决方案(Teradata string truncated after UNION ALL)是将列转换为CHAR(n),但在我的情况下,这不会起作用,因为结果的长度可能在200到2000个字符之间(或者有时更多)

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我不确定它是否是UNION的一个问题,但我遇到了一个与大型合作伙伴崩溃的应用程序非常相似的问题 - 我们发现MySQL group_concat硬修剪了输出。对我们来说,超过1024个字符被删除 - 因为我们期待XML - 不希望的输出。

您可以在my.ini文件中将group_concat的最大长度设置为更大的值,或者如果您需要临时大件事,我们有时会在会话期间将其设置为类似于此:MySQL and GROUP_CONCAT() maximum length

(来自上面的帖子)

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