gpt4 book ai didi

sql - 如何在 SQL Server 中的 where 子句中比较 varbinary

转载 作者:行者123 更新时间:2023-12-04 18:27:51 26 4
gpt4 key购买 nike

我要比较varbinary使用字节数组键入。到目前为止我已经尝试过:

DECLARE @data AS NVARCHAR(MAX)='4283'

Select * from table1 Where bindayData=CAST(@data AS VARBINARY)

但这不起作用。

我注意到一个奇怪的行为:当我静态使用它时
Select * from table1 Where bindayData=CAST('4283' AS VARBINARY)

然后它工作正常。但是当我声明一个变量时,它不起作用。

请分享您的想法。

谢谢,
纳雷什·戈拉达拉

最佳答案

尝试

DECLARE @data AS NVARCHAR(MAX)='4283'

字符串常量 '4283'在 CAST 中是非 unicode,每个字符一个字节。
这给出了 4 个字节的 varbinary 0x34323833
当您使用 NVARCHAR(MAX) 时,它会更改为 unicode N'4283'每个字符 2 个字节的字符串。
这给出了 8 个字节的 varbinary,类似于 0x0034003200380033

关于sql - 如何在 SQL Server 中的 where 子句中比较 varbinary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6648524/

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