在数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳,
也有的直接存日期,查询的时候可能不是那么好弄.
mysql提供了两个函数:
from_unixtime(time_stamp) -> 将时间戳转换为日期
unix_timestamp(date) -> 将指定的日期或者日期字符串转换为时间戳
也可以指定格式
SELECT FROM_UNIXTIME(1382544000,'%Y-%m-%d') AS a
如: from_unixtime(time_stamp)
-
select from_unixtime(1382544000);
-
+---------------------------+
-
| from_unixtime(1382544000) |
-
+---------------------------+
-
| 2013-10-24 00:00:00 |
-
+---------------------------+
如: unix_timestamp(date)
-
select unix_timestamp(date('2013-10-24'));
-
+------------------------------------+
-
| unix_timestamp(date('2013-10-24')) |
-
+------------------------------------+
-
| 1382544000 |
-
+------------------------------------+
如果要查询当天的订单的记录:
-
select count(*) from b_order Where date_format(from_unixtime(create_time),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
也可以这样:
-
select count(*) from b_order Where create_time >= unix_timestamp('2013-10-24 00:00:00') and create_time <= unix_timestamp('2013-10-24 23:59:59') ;
阅读(1774) | 评论(0) | 转发(0) |