Mysql中操作日期和时间

日期和时间都是比较特殊但是又是很重要的数据项。

1.Mysql中日期和时间类型分别有Date、Time、DateTime、Timestamp、Year。其中Date仅仅表示一个日期,以yyyy-mm-dd的格式;而Time仅仅表示一个时间,以HH:mm:ss的格式;DateTime是日期和时间的一个组合,格式为 yyyy-MM-dd HH:mm:ss;而Timestamp表示一个时间戳,格式是yyyyMMddHHmmss;Year表示年份,从1900-2155。

2.获取当前日期curdate()

该函数没有参数,要获取数据库当前日期

select curdate();

3.获取当前时间curtime()

select curtime();

4.获取当前日期和时间now()

select now();

5.自动记录数据插入或者改变的时间

Mysql中的Timestamp是一个时间戳,它如果你在表格中加了一个Timestamp类型的列,就可以在数据插入或者改变时,数据库自动更新Timestamp类型的列(如果声明了多个Timestamp类型的列,只有一个会更新)。

Timestamp列将在以下情况下自动更新:

一,使用insert into语句或者load data语句往数据库添加数据时

二,使用update语句更新数据库记录时

三,显示设置Timestamp列为NULL时,该列不会被设置为NULL,而是进行时间戳更新


6.返回日期和时间范围

创建一张表td

CREATE TABLE `td` (
  `begindate` datetime default NULL,
  `enddate` datetime default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
表中的记录如下

begindateenddate
2013-02-01 00:00:002013-02-01 22:10:10
2013-02-01 13:00:002013-02-02 20:00:00

选出日期为2013-02-01的记录

select * from td where enddate<='2013-02-02' and enddate>'2013-02-01';

此外还可以使用模式匹配

select * from td where enddate like '2013-02-01%';

使用关系运算符比较和使用模式匹配的区别在于:关系比较把时间转换成为一个内部的存储格式后再进行比较(数值型),而模式匹配是将时间作为字符串进行处理。

关系运算符能够运用在日期和时间的比较上面。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值