常见数据库时间类型简单记录
1. Oracle的时间类型:
资料来源:https://www.cnblogs.com/linximf/archive/2011/11/21/2257036.html
感谢原作者...
1.1 DATE
这是ORACLE最常用的日期类型,它可以保存日期和时间,常用日期处理都可以采用这种类型。DATE表示的日期范围可以是公元前4712年1月1日至公元9999年12月31日
date类型在数据库中的存储固定为7个字节,格式为:
第1字节:世纪+100
第2字节:年
第3字节:月
第4字节:天
第5字节:小时+1
第6字节:分+1
第7字节:秒+1
1.2、TIMESTAMP(p)
这也是ORACLE常用的日期类型,它与date的区别是不仅可以保存日期和时间,还能保存小数秒,小数位数可以指定为0-9,默认为6位,所以最高精度可以到ns(纳秒),数据库内部用7或者11个字节存储,如果精度为0,则用7字节存储,与date类型功能相同,如果精度大于0则用11字节存储。
格式为:
第1字节:世纪+100
第2字节:年
第3字节:月
第4字节:天
第5字节:小时+1
第6字节:分+1
第7字节:秒+1
第8-11字节:纳秒,采用4个字节存储,内部运算类型为整形
Date类型的内部编码为12
长度:占用7个字节
数据存储的每一位到第七位分别为:世纪,年,月,日,时,分,秒
TIMESTAMP是支持小数秒和时区的日期/时间类型。对秒的精确度更高
TIMESTAMP WITH TIME ZONE类型是TIMESTAMP的子类型,增加了时区支持,占用13字节的存储空间,最后两位用于保存时区信息
INTERVAL 用于表示一段时间或一个时间间隔的方法.在前面有多次提过.INTERVAL有两种类型.
YEAR TO MONTH 能存储年或月指定的一个时间段.
DATE TO SECOND存储天,小时,分钟,秒指定的时间段.
2. SQLSERVER数据库的时间格式:
资料来源: http://blog.sina.com.cn/s/blog_43eb83b90102e01t.html
|
数据类型 |
格式 |
范围 |
精确度 |
存储大小(以字节为单位) |
用户定义的秒的小数精度 |
时区偏移量 |
|
time |
hh:mm:ss[.nnnnnnn] |
00:00:00.0000000 到23:59:59.9999999 |
100 纳秒 |
3 到5 |
||
|
date |
YYYY-MM-DD |
0001-01-01 到 9999-12-31 |
1 天 |
3 |
||
|
smalldatetime |
YYYY-MM-DD hh:mm:ss |
1900-01-01 到 2079-06-06 |
1 分钟 |
4 |
||
|
datetime |
YYYY-MM-DD hh:mm:ss[.nnn] |
1753-01-01 到 9999-12-31 |
0.00333秒 |
8 |
||
|
datetime2 |
YYYY-MM-DD hh:mm:ss[.nnnnnnn] |
0001-01-01 00:00:00.0000000 到9999-12-31 23:59:59.9999999 |
100 纳秒 |
6 到8 |
||
|
datetimeoffset |
YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm |
0001-01-01 00:00:00.0000000 到9999-12-31 23:59:59.9999999(以UTC 时间表示) |
100 纳秒 |
8 到10 |
sql server:datetime和smalldatetime
datetime数据类型所占用的存储空间为8个字节,其中前4个字节用于存储1900年1月1日以前或以后的天数,数值分正负,正数表示在此日期之后的日期,负数表示在此日期之前的日期;后4个字节用于存储从此日零时起所指定的时间经过的毫秒数。
smalldatetime数据类型使用4个字节存储数据。其中前2个字节存储从基础日期1900年1月1日以来的天数,后两个字节存储此日零时起所指定的时间经过的分钟数。
smalldatetime数据类型与datetime数据类型相似,但其日期时间范围较小,从1900年1月1日到2079年6月6日。此数据类型精度较低,只能精确到分钟,其分钟个位为根据秒数四舍五入的值,即以30秒为界四舍五入。
date是SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间。
DateTime 日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间。