[英]Convert nvarchar(max) to varbinary(max)
有值表
report nvarchar(max) not null
description nvarchar(max)
在存儲過程中,我想從表中選擇值,然后將其轉換為varbinary max。 我選:
select
CONVERT(varbinary(max), [report]) as [report],
ISNULL(CONVERT(varbinary(max), [description]), '') as [description]
from myTbl
但我得到一個錯誤:
不允許從數據類型varchar隱式轉換為varbinary(max)。 使用CONVERT函數運行此查詢。
請幫我解決這個問題
發生失敗是因為您將描述轉換為varbinary
,但隨后嘗試將所有null值varbinary
轉換回varchar
。 您只需要在CONVERT
移動ISNULL
或將null轉換為二進制值時將轉換值更改即可。
SELECT
CONVERT(varbinary(MAX), report),
CONVERT(varbinary(max), ISNULL([description], '')) as [description]
FROM myTbl
SELECT
CONVERT(varbinary(MAX), report),
ISNULL(CONVERT(varbinary(max), [description]), 0x) as [description]
FROM myTbl
如果description為null,則兩個版本將產生相同的輸出0x
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.