您的位置:首页 > 数据库 > MySQL

Mysql中操作日期和时间

2014-06-20 11:03 239 查看
日期和时间都是比较特殊但是又是很重要的数据项。

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

关系运算符能够运用在日期和时间的比较上面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: