gpt4 book ai didi

sql - nvarchar 连接问题

转载 作者:行者123 更新时间:2023-12-04 14:09:02 25 4
gpt4 key购买 nike

在处理了所有困难的事情之后,我可能正在尝试做一件简单的事情,但这似乎让我很头疼。我正在尝试将文本连接到变量 @strXml 中,这是一个用于构建 Xml 元素的 nvarchar 变量,但 @strXml 返回 null。请帮忙。我在下面发布我的代码。

DECLARE @strXml nvarchar(max) = ''
SET @strXml = '<PromoName>' + (Select PromoName From #Temp) + '</PromoName>'
SET @strXml = @strXml + '<PromoDesc>' + (Select PromoDesc From #Temp) + '</PromoDesc>'
SET @strXml = @strXml + '<PromoCode>' + (Select PromoCode From #Temp) + '</PromoCode>'
SET @strXml = @strXml + '<BeginDate>' + (Select Convert(nvarchar, BeginDate) From #Temp) + '</BeginDate>'
SET @strXml = @strXml + '<EndDate>' + (Select Convert(nvarchar, EndDate) From #Temp) + '</EndDate>'
SET @strXml = @strXml + '<RawHtml>' + (Select RawHtml From #Temp) + '</RawHtml>'
SET @strXml = @strXml + '<FocusPromoInd>' + Convert(nvarchar, 0) + '</FocusPromoInd>'
SET @strXml = @strXml + '<ParentPromoCode>' + (Select ParentPromoCode From #Temp) + '</ParentPromoCode>'
SET @strXml = @strXml + '<ActiveInd>' + (Select Case When ActiveInd=1 Then '1' Else '0' End From #Temp) + '</ActiveInd>'
SET @strXml = @strXml + '<AreaID>' + (Select Convert(nvarchar, AreaID) From #Temp) + '</AreaID>'
SET @strXml = '<PromoData><Promotion>' + @strXml + '</Promotion></PromoData>'
Select @strXml as strXML

当我运行最后一个查询时,它返回 null。即使在 Debug模式下,我也看不到 @strXml 每行都更新了值。请帮忙!谢谢。

最佳答案

您要连接的字段之一为空。

任何时候您在 SQL 中连接一个字符串和一个空值,结果都是空值。

您可以使用 COALESCE 命令来解决这个问题:

declare @strXml nvarchar(max) = ''
set @strXml = '<PromoName>' + (select coalesce(PromoName, '') from #Temp) +
'</PromoName>'
-- and so on

关于sql - nvarchar 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3399328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com