mysql中用于表示时间的三种类型date, datetime, timestamp (如果算上int的话,四种) 比较容易混淆,下面就比较一下这三种类型的异同

相同点

都可以用于表示时间

都呈字符串显示

不同点

1.顾名思义,date只表示'YYYY-MM-DD'形式的日期,datetime表示'YYYY-MM-DD HH:mm:ss'形式的日期加时间,timestamp与datetime显示形式一样。

2.date和datetime可表示的时间范围为'1000-01-01'到'9999-12-31',timestamp由于受32位int型的限制,能表示'1970-01-01 00:00:01'到'2038-01-19 03:14:07'的UTC时间。

3.mysql在存储timestamp类型时会将时间转为UTC时间,然后读取的时候再恢复成当前时区。 假如你存储了一个timestamp类型的值之后,修改了mysql的时区,当你再读取这个值时就会得到一个错误的时间。而这种情况在date和datetime中不会发生。

4.timestamp类型提供了自动更新的功能,你只需要将它的默认值设置为CURRENT_TIMESTAMP。

5.除了date是保留到天,datetime和timestamp都保留到秒,而忽略毫秒。

时间格式

mysql提供了一种比较宽松的时间字符串格式用于增删改查。参考iso时间格式,一般习惯于写成'2013-06-05 16:34:18'。但是你也可以简写成'13-6-5',但是这样容易造成混淆,比如mysql也会把'13:6:5'也当做年月日处理,而当'13:16:5'这种形式,则被mysql认为是不正确的格式,会给出一个警告,然后存入数据库的值是'0000-00-00 00:00:00'。

手册中还特意提到了一种情况,就是当年的值是0~69时,mysql认为是2000~2069,而70~99时则认为是1970~1999。我感觉是一种画蛇添足了。

总之,以不变应万变,使用'YYYY-MM-DD HH:mm:ss'格式总是不会错的。

mysql日期比较timestamp_Mysql中的Datetime和Timestamp比较(转载)相关推荐

  1. php和mysql时间类型,MySQL_Mysql中的Datetime和Timestamp比较,mysql中用于表示时间的三种类 - phpStudy...

    Mysql中的Datetime和Timestamp比较 mysql中用于表示时间的三种类型date, datetime, timestamp (如果算上int的话,四种) 比较容易混淆,下面就比较一下 ...

  2. mysql插入时间字段为空值_php – 如何在mysql日期类型字段中插入一个空值?

    如何在 mysql日期类型字段(NULL = yes)中插入NULL或空值. 如果我尝试插入一个空值,它会插入0000-00-00,但是我想保持为空或为空. 感谢帮助. UPDATE 请看我已经将默认 ...

  3. mysql 日期格式化 yyyymmdd_mysql中时间日期格式化

    这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAY ...

  4. mysql日期格式化 yyyymmdd_mysql中时间日期格式化

    这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: DATE_FORMAT(FROM_UNIXTIME('1997-10-04 22:23:00'),' ...

  5. mysql 日期相等_mysql中时间比较的实现

    MySql中时间比较的实现 unix_timestamp 函数可以接受一个参数,也可以不使用参数.它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如 ...

  6. c# mysql 时间_c# – 无法在VS2010中将MySQL日期/时间值转换为System.DateTime

    当我想从我的mysql数据库加载数据时,我总是收到此错误: Unable to convert MySQL date/time value to System.DateTime 这是我的连接字符串: ...

  7. mysql 日期分隔符_sql中的日期处理

    sql中的日期处理 convert(datetime,'10/dec/2009 12:22:31.120') from openrowset( 'SQLOLEDB ', '10.10.80.83'; ...

  8. mysql 日期格式化 yyyymmdd_mysql中格式化日期详解

    1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. ?1DATE_FORMAT(date,format) format参数的格式有%a缩写星期名 %b缩写月名 %c月,数值 % ...

  9. mysql日期格式化 yyyymmdd_mysql中格式化日期详解

    1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. DATE_FORMAT(date,format) format参数的格式有 %a 缩写星期名 %b 缩写月名 %c 月,数值 ...

最新文章

  1. 谱减法降噪的matlab代码实现
  2. linux内核杂记(18)-内核链表结构(2)
  3. C#获取当前路径的方法集合
  4. 磁盘空间使用关乎SQL Server性能
  5. R与Python或协同助力机器学习:听Azure ML Studio讲座有感
  6. 微信小程序学习总结(一)——程序文件内容
  7. LED背光源和LED背光灯区别
  8. 获取手机存储空间大小
  9. VSCode中调试flutter遇到Android licenses not accepted的错误提示
  10. JS实现点击按钮切换图片
  11. FUZ 1759 Super A^B mod C (指数循环节/模板)
  12. 新手安装hadoop教程和个人遇到的错误及解决办法(错误:./hadoop-daemon.sh start journalnode用不了和WARNING: HADOOP_SECURE_DN_USER)
  13. 数组的push()、pop()、shift()和unshift()方法
  14. c语言课程设计人事管理,C语言课程设计-人事管理系统(65页).doc
  15. build type和product flavors
  16. 使用telnet命令检测端口是否正常报错“telnet: connect to address 192.168.88.132: Connection refused“
  17. 区块链的起源、发展与繁荣
  18. 关于4G 5G 基站覆盖范围的几个重要数据
  19. 浅谈系统架构设计-从架构设计原理、架构设计原则、架构设计方法展开
  20. 大学计算机第七版读书笔记(第一章)

热门文章

  1. Ant-Design-Vue 安装
  2. Flowable 数据库表结构 ACT_RU_EXECUTION
  3. linux 15秒 搭建VSFTPD文件服务器
  4. Mybatis-plus 大数据量数据流式查询通用接口
  5. vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法
  6. Spring Boot 一个依赖搞定 session 共享,没有比这更简单的方案了!
  7. Errors while executing git --version. exitCode=128 errors: fatal: open /dev/null or dup failed: No s
  8. qt自定义含有拖动功能的窗口在点击窗口的下拉列表时窗口移动
  9. C语言 while 循环 - C语言零基础入门教程
  10. linux系统批量装机,PXE+Kickstart实现无人值守批量安装Linux