我可以在SQL中将变量设置为数据类型长度吗?

问题描述

我有一个带有反转字节的十六进制变量。为了反转字节,我发现了二进制类型的解决方案,并将其反转取决于其大小。由于我必须反转变量@card的字节,字节大小可以不同,因此我想声明变量@binarylen,所以键入int,我想将其设置为数据类型长度,但会收到错误消息“语法错误:期望ID,INTEGER或QOUTED_ID” '。我能以某种方式做到这一点吗?

DECLARE @card_hex nvarchar(max)
DECLARE @card_int bigint
DECLARE @badgenr nvarchar(max)
set @badgenr= '120224205061286445' 

-- convert it to hex
        set @card_int = convert (bigint,(@badgenr))
        print @card_int
        set @card_hex = CONVERT(NVARCHAR(31),CONVERT(VARBINARY,@card_int),2)
        print @card_hex

--remove leading zeroes:
set @card_hex = (select substring(@card_hex,patindex('%[^0]%',@card_hex),20))
print @card_hex

DECLARE @bitelen as int
set @bitelen= LEN(@card_hex)

declare @binarylen as int
set @binarylen=@bitelen/2 + @bitelen%2

declare @reverse as binary(@binarylen)
set @reverse=( SELECT cast(reverse(cast(@card_int AS BINARY(@binarylen))) AS BINARY(@binarylen)))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...