我需要使用php将数组作为varbinary参数传递给ms sql存储过程。我不知道如何将数组转换为varbinary或等价。
我怎么能这样做?
由于
答案 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