李晓娜

唯自由和梦想不可辜负…

数据类型——时间和日期

做机房收费系统时设计到数据库的设计,其中一项就是数据类型的选择,对于时间和日期,那个时候自己一个选择Datetime,一个选择Date,结果可想而知并没有显示出来自己想要的结果:

  (1)Datetime:

DateTime 日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间

  (2)Date

	Date是SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间

  之外还有一个重要的只显示时间的数据类型(time(n))

SQL Server2008和SQL Server2008 R2现在有了一个TIME数据类型,它允许你只存储一个时间值而没有时间。如果想要存储一个特定的时间信息而不涉及具体的日期时。TIME数据类型存储使用24小时制,它并不关心时区,支持高达100纳秒的精确度。TIME数据类型支持从0到7不同的精度,就像DATETIME2格式,它的磁盘开销是3到5个字节,取决与精度。TIME列的长度与精度如下表所示:


l  fractionalseconds precision:为秒的小数部分指定数字的位数。

这可以是从 0 到 7 的整数。

默认的小数精度是 7 (100ns)

l  默认的字符串文字格式

hh:mm:ss[. nnnnnnn]

l  范围

00:00:00.0000000到 23:59:59.9999999

l  各元素的范围

hh 是表示小时的两位数字,范围为 0 到 23。

mm 是表示分钟的两位数字,范围为 0 到 59。

ss 是表示秒的两位数字,范围为 0 到 59。

n* 是 0 到 7 位数字,范围为 0 到9999999,它表示秒的小数部分

l  字符长度

最小 8 位 (hh:mm:ss),最大 16 位(hh:mm:ss. nnnnnnn)

 

所以根据你想要获得的结果选择合适的日期类型,这样才能得出你想要的结果。Time(n)是一个只显示时间的数据类型,这样便不会在显示时间的把日期也显示出来。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010955843/article/details/17095697
个人分类: 【机房收费系统】
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭