如何在mssql中将数组作为varbinary传递?

时间:2011-04-05 18:03:07

标签: php sql-server

我需要使用php将数组作为varbinary参数传递给ms sql存储过程。我不知道如何将数组转换为varbinary或等价。

我怎么能这样做?

由于

1 个答案:

答案 0 :(得分:0)

如果您正在使用SQL Server 2016或更高版本,则应使用 varbinary 数据类型。

如果您使用的是旧版本,则将其放入varchar(max)列,并使用下面的tSQL将其从字符串转换回十六进制:

SET NOCOUNT ON;

DECLARE @BinaryValue    [varbinary](256) ,
        @x              [xml]

SET @x = '<root></root>;'

SET @BinaryValue = 0x0200CDDBC2A60A08B57EDF7622CA52A45EC3BC234CE6A0F7D038F3BAE0EC00

SELECT  N'0x' + @x.value('xs:hexBinary(sql:variable("@BinaryValue"))',
                         '[varchar](512)')

SET NOCOUNT OFF;
GO