0

这是我的 SQL 查询

DECLARE @Amount int
SELECT @Amount = COALESCE(@Amount+ ', ', '') + Amount FROM Hotel

在执行此查询时,我收到错误:

"Conversion failed when converting the varchar value ', ' to data type int"
4

1 回答 1

7

您需要将数字显式转换为字符串,否则它将尝试从字符串隐式转换为数字。

还要将变量声明为正确的数据类型...

 DECLARE @Amount varchar(max)
 SELECT @Amount = COALESCE(@Amount+ ', ', '') + CAST(Amount AS VARCHAR(11))
 FROM Hotel

你可能还想看看XML PATH这个,就像你在 2008 年一样。

于 2012-07-16T09:02:38.640 回答