如何在SQL Server中存储未签名的64位整数?

dan*_*ine 7 sql-server unsigned

我使用一个使用相当大的数字的应用程序,我需要将数据存储为无符号的64位整数.我更喜欢只是存储它而不用担心位操作或类似的东西,因此不同的程序可以以不同的方式使用数据.

Ken*_*tle 5

您可以将值存储在NUMERICa scale为0 的类型中,这将保留integer所需的语义.该NUMERIC类型将允许负数,但您可以设置约束以要求正整数.

最大值precisionNUMERIC38位十进制数字.2**64大约是18或19位十进制数字,因此NUMERIC(19,0)对于这些数据可能会很好.

  • 是不是2的64 '18,446,744,073,709,551,616' - 或20位数的权力?如果是这样,那是否意味着你需要一个NUMERIC(20,0)存储它? (5认同)

Jam*_*rue 2

AFAIK,您必须创建一个自定义类型。尽管那篇文章更多的是限制负数,但这里有指针......