【发布时间】:2012-04-11 20:34:25
【问题描述】:
是否可以在 sql server 中将 varchar(32)(十六进制字符串,如 0x81f2cf442269e111b99c1cc1deedf59c)转换为 bigint?
我试过了:
select convert(bigint, convert (varbinary(16), '0x81f2cf442269e111b99c1cc1deedf59c', 1))
但我不确定它是否适用于更高和更低的值。
【问题讨论】:
-
你为什么需要这样的东西?
-
将此字符串存储在 bigint 列中
-
我认为这些帖子可能对您有所帮助 blog.sqlauthority.com/2010/02/01/… 和 dpatrickcaldwell.blogspot.com/2009/05/…
-
技术上不可能。一个 32 十六进制字符串是一个 16 字节的数字。 Bigint 只包含 8 个 b 字节 - 你不能在 8 个字节中容纳 16 个字节。
-
感谢您的回答,我不确定
标签: sql-server hex type-conversion bigint