• 时间字段类型之timestamp、int(10)和datetime如何选择?


      最近我在设计数据表时需要一个存放时间的字段,在timestamp、int(10)和datetime几种类型中犹豫不决,它们都能满足我的业务需求,因此我不知道它们几个哪个更好。下面我就我整理出来的资料记录一下笔记。

    • timestamp

      timestamp类型的取值范围为“1970-01-01 00:00:00” 至 “2038-01-19 03:14:07”,其数据精确到秒,4个字节,其时间值带时区,可精确到微秒级别,timestamp(N)的取值范围为0-6,精确到毫秒则设置为timestamp(3),精确到微秒则设置为timestamp(6)。

    • int(10)

      就是一个时间戳,4个字节,精确到秒。

    • datetime

      datetime类型的取值范围为1000-01-01 00:00:00~9999-12-31 23:59:59,存储需要8个字节,与时区无关,精确度为百分之三秒。

      我自己总结一下这几个类型的优缺点:
      ①timestamp存储空间小、精确度高、适用数据库相关的时间函数、数据表可视化,但是时间范围快到期了,且由于自带时区转义,如果是跨多个时区的业务需要检查好自身的时间时区转换。

      ②int(10)存储空间小、运算及查询效率高、不受时区影响,但是可视化不友好,需要转义才能看时间,且精确度不高,只能到秒级别。

      ③datetime,时间范围大、对程序员友好,可视化友好,可适用数据库相关的时间函数。但存储空间大。

      以上就是我的总结。

    参考 https://blog.csdn.net/xumingjie1658/article/details/7426301、https://www.cnblogs.com/deityjian/p/11452295.html、https://blog.csdn.net/fsp88927/article/details/80662369 

  • 相关阅读:
    [leetcode] Valid Sudoku
    [leetcode] Count and Say
    [leetcode] Decode Ways
    [leetcode] Sqrt(x)
    [leetcode] Best Time to Buy and Sell Stock II
    7-27 兔子繁衍问题
    7-26 最大公约数和最小公倍数
    7-25 求奇数和
    7-24 猜数字游戏
    7-23 分段计算居民水费
  • 原文地址:https://www.cnblogs.com/smallzhen/p/14401247.html
Copyright © 2020-2023  润新知