我有一個數字轉換成一組ASCII字符,然後查詢嘗試將它們連接成一個字符串:連接具有FOR XML改變編碼
declare @number int = 651854564
;with cte as (
select @number prev_nr
, cast(char(@number % 256) as nvarchar(100)) nextchar
union all
select prev_nr/256 prev_nr
, cast(char((prev_nr/256) % 256) as nvarchar(100)) nextchar
from cte
where prev_nr <> 0)
select
cast(nextchar + '' as nvarchar(100))
from cte
where prev_nr <> 0
for xml path ('');
中的人物是由於拆分上述號碼個人字符是:
characters
ä
‚
Ú
&
但是試圖與FOR XML
將它們串聯在它們改變編碼,以便在端&
進行變換和連接成最終的結果是:ä‚Ú&
我該如何解決這個問題,以便我可以得到正確的編碼並生成ä‚Ú&
結果?
我已經嘗試將所有內容轉換爲nvarchar(100)
,但我有一種感覺,這沒有任何效果(實際上它幾乎與編碼無關 - 或者至少在我的場景中沒有幫助)。
我也嘗試了着名的STUFF
與FOR XML
但這並沒有真正的幫助。
啊哈!有效!太感謝了。從來沒有真正與XML合作過。 –
@RaduGheorghiu高興地幫忙! – SqlZim
@JohnCappelletti他現在在那裏! –