SQL Server中的“money”和“decimal”数据类型如何存储在内存中?

前端之家收集整理的这篇文章主要介绍了SQL Server中的“money”和“decimal”数据类型如何存储在内存中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道内存中的存储sql Server数据类型.

sql Server中的money数据类型如何存储在内存中?我知道钱存储在8个字节中,而smallmoney存储在4个字节中.但我不知道怎么办?

例如,当您有123400.93的钱时,它是如何以8个字节存储的?

我有关于十进制和DATE数据类型的相同问题.

特别是对于DATE,格式为YYYY-MM-DD,但它如何以3个字节存储?它是否按照此处所述进行存储:http://dev.mysql.com/doc/internals/en/date-and-time-data-type-representation.html
或存储特定日期的天数?

解决方法

在这里添加一点……

单个字节由8位组成.一位可以容纳2个值(0或1).

所以4个字节是32位(4 x 8).这意味着可存储的数值范围为0到2 ^ 32,总范围为4,294,967,296.

smallmoney是有符号的,所以我们删除了一个用于符号的位,这留下了2 ^ 31,或2,147,483,648个可能的值和/ – 符号.

现在我们考虑到货币类型的最后4位数字总是在小数点后面,我们最终得到-214,748.3648到214,748.3647的范围

从技术上讲,通过在字或字节中翻转位来存储money和s​​mallmoney值,就像其他所有内容一样.如果您需要更多信息,请阅读http://computer.howstuffworks.com/bytes.htm

或者你可能会看到这个可能的金钱范围和smallmoney:
http://technet.microsoft.com/en-us/library/ms179882.aspx

更新
对于DATETIME数据类型,它是相同的概念,有点扭曲.在MS sql中,使用2个数字存储DATETIME.第一个是自19/1年1月1日以来的天数,第二个是自午夜以来的刻度数:
看到
http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/how-are-dates-stored-in-sql-serverWhen storing a datetime in sql server (datetime type),what format does it store it in?

原文链接:https://www.f2er.com/mssql/78824.html

猜你在找的MsSQL相关文章