数据库timestamp类型介绍

  • Post author:
  • Post category:其他


数据库中的timestamp类型类似于linux系统 中的unix timestamp,是一个记录了从

格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,有些数据库在此基础之上做了一些扩展,下边对于传统数据库中的timestamp类型进行 一下简单介绍:


1、范围:从


1970-01-01 00:00:00到2037年。 (datetime类型的范围要比这个大的多,

1000-01-01 00:00:00到9999-12-31 23:59:59)。

2、精度timestamp的精度默认是到秒,也可以指定精度为毫秒、微妙。其方法就是timestamp(3)指毫秒,timestamp(6)微秒。在数据库内部实现时,默认精度和指定精度的实现方式也是不同的,默认精度timestamp是用unix timestamp实现 。当指定为毫秒、微秒时,unix timestamp是不满足的,因为unix timestamp只是精确到秒。若是指定精度为毫秒、微秒后,实现方式为linux内核中的一个取当前时间一种方式,结构体如下:


struct


timeval{__time_t tv_sec;


/* Seconds. */


__suseconds_t tv_usec;


/* Microseconds. */


};其中tv_sec是秒数,tv_usec


是微秒数。当精度为毫秒时表示为

tv_sec*1000+

tv_usec/1000,精度为微秒时表示 为

tv_sec*1000000+


tv_usec。





版权声明:本文为a615549958原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。