mysql日期和时间类型

datetime      8 bytes   

date     3 bytes

timestamp   4 bytes   
date          3 bytes   

year          1 bytes    


timestamp显示的范围:1970-01-01 00:00:00  到 2038-01-19 03:14:07 

在建表时,列为timestamp 的日期类型可以设置一个默认值,而datetime不行

在更新时,可以设置timestamp 类型的列自动更新为当前时间。

注意:当update时,a=2 ,原来的a也是2,列没变化时,更新时间不会发生变化。


与时间和日期相关的函数

NOW(),CURRENT_TIMESTAMP(),SYSDATE()  都能返回当前的系统时间

now() 基本上和  CURRENT_TIMESTAMP() 是一样的,返回的是执行sql语句的时间

SYSDATE 返回的是执行到当前函数时的时间。


2.时间加减函数 DATE_ADD()  , DATE_SUB()

3.DATE_FORMAT函数 :格式化日期

DATE_FORMAT(now(),'%Y%M%D')

错误使用:在需要查询某天数据时,

select * from table where date_format(date,'%Y%M%D') = 'xxxx-xx-xx';

一般来说表中会有一个对日期类型的索引,如果使用上述语句,优化器绝对不会使用索引,也不可能通过索引来查询数据,因此上述查询的执行效率可能比较低。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值