为什么SQL Server DATETIME类型节省了每秒1/300的时间
问题说明
SQLServer datetime格式存储为8个字节,其中前四个字节是自1900年1月1日以来的天数,其他四个字节是自午夜以来的刻度数。而这个刻度是秒的1/300。
SQLServer datetime format is stored as 8 bytes where the first four bytes are number of days since Jan 1, 1900 and the other four bytes are number of ticks since midnight. And the tick is 1/300 of the second.
我想知道为什么会这样?那个1/300来自哪里?必须有一些历史原因。
I'm wondering why is that? Where is that 1/300 came from? There must be some historic reason for that.
正确答案
是的,有一个历史原因:UNIX!
Yes, there is a historical reason: UNIX !
有关详细信息,请阅读杰出的文章由Joe Celko。
For details, read this excelent article by Joe Celko.
以下是您要查找的详细信息:
Here is the detail you're looking for:
T-SQL
中的时间数据曾经是UNIX系统时钟滴答的囚犯,只能在$ 4 $ b到三进制小数的四舍五入错误。新的ANSI / ISO数据
类型可以转到七个十进制小时,具有真实的DATE和TIME数据
类型。由于它们是新的,大多数程序员尚未使用它们。
Temporal data in T-SQL used to be a prisoner of UNIX system clock ticks and could only go to three decimal seconds with rounding errors. The new ANSI/ISO data types can go to seven decimal seconds, have a true DATE and TIME data types. Since they are new, most programmers are not using them yet.
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /reply/detail/tanhbckcja
-
YouTube API 不能在 iOS (iPhone/iPad) 工作,但在桌面浏览器工作正常?
it1352 07-30 -
iPhone,一张图像叠加到另一张图像上以创建要保存的新图像?(水印)
it1352 07-17 -
保持在后台运行的 iPhone 应用程序完全可操作
it1352 07-25 -
使用 iPhone 进行移动设备管理
it1352 07-23 -
在android同时打开手电筒和前置摄像头
it1352 09-28 -
扫描 NFC 标签时是否可以启动应用程序?
it1352 08-02 -
检查邮件是否发送成功
it1352 07-25 -
Android微调工具-删除当前选择
it1352 06-20 -
Android App 和三星 Galaxy S4 不兼容
it1352 07-20 -
希伯来语的空格句子标记化错误
it1352 06-22