SQL表中的SQL选择查询中的连接

时间:2012-12-12 08:40:05

标签: sql excel

我现在上传了一个Excel文件我希望通过select查询从该表中读取数据,并且我希望将4列与分隔符_连接为Type_name

我使用的查询是

select 
   *, '1' as fileid, 'Size' + '_' + 'Material' +'_' & 'Finishing' + '_' + 'Sides' as Type_Name  
from [sheet1$] 
where [Current Code] is not null or [Current Code] <> ''

Type_Name

之外,查询都会正确返回所有数据

此查询将Type_Name作为Size_Material_Finishing_Sides

返回

2 个答案:

答案 0 :(得分:0)

这取决于您使用的SQL类型。

我假设您在Excel或MS Access中查询。在这种情况下,您应该使用String1 & String2 & ...

但是,还有其他选择:

SQL Server使用String1 + String2 + ...

Oracle,DB2和某些版本的MySQL使用String1 || String2 || ...

大多数MySQL版本支持的方法是CONCAT(String1, String2, ...)

大多数SQL版本都存在

CONCAT(),但请注意:您不能总是使用它来组合任意数量的字符串。例如,在Oracle和DB2中,此函数只能组合两个字符串。

您发布的示例包含+&的混合,绝对不会有效。

答案 1 :(得分:-1)

你正在使用&amp;和+连接?你为什么要连接起来?为什么不直接使用:

'Size_Material_Finishing_Sides' as Type_Name

如果这不是结果,您期望得到什么结果?