MySQL、Oracle、SQL Server时间类型字段

关系型数据库时间类型字段

MySQL(以及对应格式)SQL Server(以及对应格式)Oracle
time(HH-MM-SS) time (12:35:29.1234567) date(YYYY-MM-DD HH:MM:SS)
date(YYYY-MM-DD) date (YYYY-MM-DD) timestamp (YYYY-MM-DD HH:MM:SS)
datetime(YYYY-MM-DD HH:MM:SS) smalldatetime (2007-05-08 12:35:00)  
timestamp(YYYY-MM-DD HH:MM:SS) datetime (2007-05-08 12:35:29.123)  
  datetime2 (2007-05-08 12:35:29.1234567)  
  datetimeoffset (2007-05-08 12:35:29.1234567 +12:15)  

MySQL时间字段类型说明

# MySQL中,datetime和timestamp区别
/*
timestamp是4字节,表示时间范围
时间范围从1970-01-01 00:00:01到2038-01-19 03:14:07,存储的是从1970-01-01 00:00:00到特定时间的秒数,所以同一个时间戳 在不同时区的人看来表示的时间是不同的
​
datetime是8个字节,存储的就是时间的数字
范围围从1000-01-01 00:00:00到9999-12-31 23:59:59,可以表达的时间范围比较大,由于是直接存的时间数值,所以不同时区的人看到的是相同的时间
*/

Oracle时间类型字段说明

# Oracle中的时间类型只有date和timestamp两种类型,timestamp比date更精确
# Oracle中timestamp和date的区别 /* 都是表示年月日时分秒,但timestamp类型不仅可以保存日期和时间,还能保存小数位,小数位可以指定0-9,默认为6位
*/

sqlserver时间字段说明

/*
time:12:35:29.1234567,仅存储时间。精度为 100 纳秒
​
date:仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。
​
smalldatetime:2007-05-08 12:35:00。从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。
​
datetime:2007-05-08 12:35:29.123。从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。
​
datetime2:2007-05-08 12:35:29.1234567,从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。
​
datetimeoffset:2007-05-08 12:35:29.1234567 +12:15,与 datetime2 相同,外加时区偏移。
*/
 
posted @ 2022-11-20 20:18  无敌大牛牛  阅读(121)  评论(0编辑  收藏  举报