1

我已经上传了一个 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_NameSize_Material_Finishing_Sides

4

2 回答 2

0

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

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

但是,这里有其他选项:

SQL Server 使用String1 + String2 + ....

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

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

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

您发布的示例包含 and 的混合+&这绝对行不通。

于 2012-12-12T09:14:14.390 回答
-1

您正在使用 & 和 + 连接?你为什么首先连接?为什么不直接使用:

'Size_Material_Finishing_Sides' as Type_Name

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

于 2012-12-12T09:24:39.643 回答