Sql server 将varchar(32)转换为bigint

Sql server 将varchar(32)转换为bigint,sql-server,hex,type-conversion,bigint,Sql Server,Hex,Type Conversion,Bigint,在sql server中,是否可以将varchar32(十六进制字符串,如0x81f2cf442269e111b99c1cc1deedf59c)转换为bigint 我试过这个: select convert(bigint, convert (varbinary(16), '0x81f2cf442269e111b99c1cc1deedf59c', 1)) 但我不确定它是否适用于较高和较低的值。我希望您可以采用以下方法,请尝试一下 DECLARE @HexValue Varchar(32) SET

在sql server中,是否可以将varchar32(十六进制字符串,如0x81f2cf442269e111b99c1cc1deedf59c)转换为bigint

我试过这个:

select convert(bigint, convert (varbinary(16), '0x81f2cf442269e111b99c1cc1deedf59c', 1))

但我不确定它是否适用于较高和较低的值。

我希望您可以采用以下方法,请尝试一下

DECLARE @HexValue Varchar(32)
SET @HexValue = '0x81f2cf442269e111b99c1cc1deedf59c'

Declare @Query NVARCHAR(100)
Declare @Parameters NVARCHAR(50)
Declare @ReturnValue BIGINT

SET @Query = N'Select @Result = Convert(BIGINT,' + @HexValue + ')'
SET @Parameters = N'@Result BIGINT output'
EXEC MASTER.dbo.Sp_executesql @Query, @Parameters, @ReturnValue OUTPUT

SELECT @ReturnValue

谢谢您的时间。

我希望您能采用以下方法,请您尝试一下

DECLARE @HexValue Varchar(32)
SET @HexValue = '0x81f2cf442269e111b99c1cc1deedf59c'

Declare @Query NVARCHAR(100)
Declare @Parameters NVARCHAR(50)
Declare @ReturnValue BIGINT

SET @Query = N'Select @Result = Convert(BIGINT,' + @HexValue + ')'
SET @Parameters = N'@Result BIGINT output'
EXEC MASTER.dbo.Sp_executesql @Query, @Parameters, @ReturnValue OUTPUT

SELECT @ReturnValue
谢谢你抽出时间

可以将varchar32转换为十六进制字符串,如 0x81F2CF442269E111B99C1CC1是否将F59C添加到sql server中的bigint

2.举例说明答案。两者都是根本错误的

做不到。有人在乎先做一个基本的数学检查吗

32十六进制=16字节。 Biging:8字节

你所有的代码都是一回事——没用。您不能将包含16字节数字的32十六进制字符串转换为8字节数字。只有在极少数情况下,上面的8个字节全部为0

可以将varchar32转换为十六进制字符串,如 0x81F2CF442269E111B99C1CC1是否将F59C添加到sql server中的bigint

2.举例说明答案。两者都是根本错误的

做不到。有人在乎先做一个基本的数学检查吗

32十六进制=16字节。 Biging:8字节


你所有的代码都是一回事——没用。您不能将包含16字节数字的32十六进制字符串转换为8字节数字。只有在极少数情况下,上面的8个字节都是0。

为什么需要这样做?要将此字符串存储在bigint列中,我认为这些帖子可能会帮助您,而且技术上是不可能的。32十六进制字符串是一个16字节的数字。Bigint只能容纳8B字节-你不能在8字节中容纳16字节。谢谢你的回答,我不确定你为什么需要这样的东西?要将这个字符串存储在Bigint列中,我认为这些帖子可能会帮助你,而且技术上是不可能的。32十六进制字符串是一个16字节的数字。Bigint只能容纳8B字节-你不能在8个字节中容纳16个字节。谢谢你的回答,我不确定