【发布时间】:2015-01-25 09:57:27
【问题描述】:
我有一个带有 UNION 子句的查询。其中一个字段是纯硬编码字符串。 UNION 之后语句中的字符串被截断以匹配 UNION 之前字段的字符串长度。 听起来很混乱?这是一个例子。
SELECT 'abc' as xxx
FROM tbl1
UNION ALL
select 'defghi' as xxx
FROM tbl2;
对于上面的查询,我希望输出是
abc
defghi
但是,输出是
abc
def
有什么想法吗?
编辑: 我目前知道的解决方法是让带有较长字符串的 SELECT 语句出现在 UNION 之前。即
SELECT 'defghi' as xxx
FROM tbl2
UNION ALL
select 'abc' as xxx
FROM tbl1;
这会给我预期的输出。但是有更好的选择吗?
【问题讨论】: