gpt4 book ai didi

sql - 在 SQL Server 中存储日期值的货币数据类型?

转载 作者:行者123 更新时间:2023-12-04 23:43:16 26 4
gpt4 key购买 nike

我正在调查我刚刚继承的数据库的一些性能问题。我可以看到有很多隐式转换,因为查询将货币数据类型转换为日期。看起来几乎所有日期字段都具有货币数据类型。

有人能告诉我为什么有人会为日期使用货币数据类型的充分且有效的理由吗?

谢谢!

最佳答案

这种做法绝对没有充分和正当的理由。

datetimemoney 都是8字节。 datetimedate 保留了 4 个字节,为 time 保留了 4 个字节。

money 的范围从 -922,337,203,685,477.5808922,337,203,685,477.5807。当从 money 转换为 datetime 时,整数部分被视为自 1900-01-01 以来的天数,小数部分被视为百分比的一天。

这意味着您在 time 部分失去了精度(每个 0.0001 增量 = 8.640 秒)并在 中获得无用的额外比例code>date 部分是因为能够存储太大而无法成功 castdatetime(最大范围为 9999 AD)

如果可能,修复架构。

关于sql - 在 SQL Server 中存储日期值的货币数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9210179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com