![](/img/trans.png)
[英]Error : Implicit conversion from data type varchar to varbinary(max) is not allowed. Use the CONVERT function to run this query
[英]Implicit conversion from data type varchar to varbinary is not allowed. Use the CONVERT function to run this query
我從存儲過程中得到以下select語句:
ALTER PROCEDURE [dbo].[Test]
--Params
@SolutionId INT
,@APIKey varbinary(256)
AS
SELECT
SK.SolutionID
,SK.APIKey
,SK.Enabled
FROM
dbo.SolutionKey SK
WHERE
SK.SolutionID = @SolutionId
AND SK.APIKey = @APIKey
AND Enabled = 1
問題是SK.APIKey
是一個varbinary
數據類型,但在代碼的存儲過程中它作為'sampledata'傳遞,所以我得到了錯誤
不允許從數據類型varchar到varbinary的隱式轉換。 使用CONVERT函數運行此查詢。
有人可以告訴我如何解決這個問題?
這樣的事可能有用。
ALTER PROCEDURE [dbo].[Test]
--Params
@SolutionId INT
,@APIKey varchar(256)
AS
SELECT
SK.SolutionID
,SK.APIKey
,SK.Enabled
FROM dbo.SolutionKey SK
where SK.SolutionID = @SolutionId
And SK.APIKey = CONVERT(VARBINARY(256), @APIKey, 1)
And Enabled = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.