时间函数 博客分类: mysql mysql
程序员文章站
2024-02-25 19:33:33
...
在MySQL应用时,经常要使用这两个函数TIMESTAMPDIFF和TIMESTAMPADD。
一,TIMESTAMPDIFF
语法:
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。
说明:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:
FRAC_SECOND。表示间隔是毫秒
SECOND。秒
MINUTE。分钟
HOUR。小时
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年
使用如下:
mysql> select TIMESTAMPDIFF(day,'2012-08-24','2012-08-30');
+----------------------------------------------+
| TIMESTAMPDIFF(day,'2012-08-24','2012-08-30') |
+----------------------------------------------+
| 6 |
+----------------------------------------------+
1 row in set (0.00 sec)
mysql> select TIMESTAMPDIFF(MINUTE,'2012-08-24 09:00:00','2012-08-30 12:00:00');
+-------------------------------------------------------------------+
| TIMESTAMPDIFF(MINUTE,'2012-08-24 09:00:00','2012-08-30 12:00:00') |
+-------------------------------------------------------------------+
| 8820 |
+-------------------------------------------------------------------+
1 row in set (0.01 sec)
二,TIMESTAMPADD
语法:
TIMESTAMPADD(interval,int_expr,datetime_expr)
说明:
将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。式中的interval和上文中列举的取值是一样的。
mysql> select TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00');
+-------------------------------------------------+
| TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00') |
+-------------------------------------------------+
| 2012-08-30 12:00:00 |
+-------------------------------------------------+
1 row in set (0.00 sec)
三,NOW()
说明:
以“yyyy-MM-dd HH:mm:ss”格式查询当前时间
语法:
select NOW()
结果:
2016-10-25 10:37:21
四,FROM_UNIXTIME
说明:
时间戳转化为Date格式
语法:
select FROM_UNIXTIME(1477362868)
五:UNIX_TIMESTAMP
说明:
Date转化为时间戳
语法:
select UNIX_TIMESTAMP("yyyy-MM-dd HH-mm-ss")
or
select UNIX_TIMESTAMP(NOW())
结果:
1477363041
一,TIMESTAMPDIFF
语法:
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。
说明:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:
FRAC_SECOND。表示间隔是毫秒
SECOND。秒
MINUTE。分钟
HOUR。小时
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年
使用如下:
mysql> select TIMESTAMPDIFF(day,'2012-08-24','2012-08-30');
+----------------------------------------------+
| TIMESTAMPDIFF(day,'2012-08-24','2012-08-30') |
+----------------------------------------------+
| 6 |
+----------------------------------------------+
1 row in set (0.00 sec)
mysql> select TIMESTAMPDIFF(MINUTE,'2012-08-24 09:00:00','2012-08-30 12:00:00');
+-------------------------------------------------------------------+
| TIMESTAMPDIFF(MINUTE,'2012-08-24 09:00:00','2012-08-30 12:00:00') |
+-------------------------------------------------------------------+
| 8820 |
+-------------------------------------------------------------------+
1 row in set (0.01 sec)
二,TIMESTAMPADD
语法:
TIMESTAMPADD(interval,int_expr,datetime_expr)
说明:
将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。式中的interval和上文中列举的取值是一样的。
mysql> select TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00');
+-------------------------------------------------+
| TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00') |
+-------------------------------------------------+
| 2012-08-30 12:00:00 |
+-------------------------------------------------+
1 row in set (0.00 sec)
三,NOW()
说明:
以“yyyy-MM-dd HH:mm:ss”格式查询当前时间
语法:
select NOW()
结果:
2016-10-25 10:37:21
四,FROM_UNIXTIME
说明:
时间戳转化为Date格式
语法:
select FROM_UNIXTIME(1477362868)
五:UNIX_TIMESTAMP
说明:
Date转化为时间戳
语法:
select UNIX_TIMESTAMP("yyyy-MM-dd HH-mm-ss")
or
select UNIX_TIMESTAMP(NOW())
结果:
1477363041