为什么SQL Server DATETIME类型节省了每秒1/300的时间? [英] Why SQL Server DATETIME type saves time in ticks of 1/300 of a sec?

查看:134
本文介绍了为什么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.

这篇关于为什么SQL Server DATETIME类型节省了每秒1/300的时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆