我有三个用户定义的变量,并且通过执行以下查询,一次只找到了如何连接,一次两个。
SET @sql := (CONCAT(@sql_q1, ' UNION ', @sql_med));
我还想连接我的其他用户定义变量@sql_q3,这样@sql存储@sql_q1,@ sql_med和@sql_q3。
有没有一种方法可以连接三个类似于上面的用户定义变量?
所有三个变量都使用同一个表中的相同数据。加入它们不是一个问题,因为我可以通过使用上面的联合线一次混合和匹配两个变量。
感谢您的帮助!
答案 0 :(得分:1)
使用CONCAT_WS()
:
SET @sql := CONCAT_WS(' UNION ', @sql_q1, @sql_med, @sql_q3);
注意:我建议您使用UNION ALL
而不是UNION
。
另外,如果一个或多个变量是NULL
,那么它的字符串仍然可以正常显示。