gpt4 book ai didi

stored-procedures - 将 VARBINARY 传递给存储过程

转载 作者:行者123 更新时间:2023-12-04 08:36:54 24 4
gpt4 key购买 nike

我有一些格式为 ASCII 十六进制的源数据。我需要将它放入 VARBINARY 字段中的 SQL 数据库中。我已将问题减少到最低限度,以说明我想做什么。我有一个存储过程:

CREATE PROCEDURE BinaryDemo
@BinaryData varbinary(max)
AS
BEGIN
PRINT @BinaryData;
END

我知道它“有效”,因为我可以:
DECLARE @tmp varbinary(max);
SET @tmp = CONVERT(varbinary, '1234567890abcdef', 2);
EXEC BinaryDemo @BinaryData=@tmp;

我想做的是跳过中间步骤并调用如下程序:
EXEC BinaryDemo @BinaryData=CONVERT(varbinary, '1234567890abcdef', 2);

不幸的是,SQL 提示语法: 关键字“CONVERT”附近的语法不正确。

我知道 CONVERT 是正确的,因为我可以:
PRINT CONVERT(varbinary, '1234567890abcdef', 2);

我完全明白我的期望。由于源数据的性质和数量,第一个示例(declare/set/exec)确实是一个糟糕的选择。

最佳答案

好问题。

但我认为这是可能的。就像是 :

效果很好:

  DECLARE @r DATETIME
SET @r=GETDATE()

EXEC [dbo].[sp_myDatePrinter] @d=@r

坏:
DECLARE @r DATETIME
EXEC [dbo].[sp_myDatePrinter] @d=GETDATE();

关于stored-procedures - 将 VARBINARY 传递给存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8217366/

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