我正在尝试使用+符号连接几个字符串...当我使用concat函数时,它工作得很好,但当我使用'+‘符号来连接字符串时,它抛出了一个错误。
有人知道为什么会发生这个问题吗?下面是使用concat的代码,运行良好
Begin
DECLARE @VAR1 AS VARCHAR(60)
SET @VAR1 = concat ((SELECT MIN(TimeDimension_Year) FROM TimeDimension_LU WHERE TimeDimension_TimeDimensionType_ID = 15), '-','current quarter')
SELECT @VAR1
end下面是使用'+‘符号的相同代码,但失败了
Begin
DECLARE @VAR1 AS VARCHAR(60)
SET @VAR1 = (SELECT MIN(TimeDimension_Year) FROM TimeDimension_LU WHERE TimeDimension_TimeDimensionType_ID = 15)+ '-'+'current quarter'
SELECT @VAR1
end发布于 2016-09-28 02:02:58
显然,某些东西不是字符串。这将是TimeDimension_Year列。所以:
SET @VAR1 = (SELECT CAST(MIN(TimeDimension_Year) as varchar(255))
FROM TimeDimension_LU
WHERE TimeDimension_TimeDimensionType_ID = 15
) + '-' + 'current quarter';这对我的口味来说有点冗长。我只会说:
SELECT @VAR1 = CAST(MIN(TimeDimension_Year) as varchar(255)) + '-' + 'current quarter'
FROM TimeDimension_LU
WHERE TimeDimension_TimeDimensionType_ID = 15;https://stackoverflow.com/questions/39731310
复制相似问题