MySQL查询数据时间戳和日期的转换

在数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳,也有的直接存日期,查询的时候可能不是那么好弄。

mysql提供了两个函数:

from_unixtime(time_stamp)-> 将时间戳转换为日期
unix_timestamp(date)-> 将指定的日期或者日期字符串转换为时间戳

一:将时间戳转换为日期

select from_unixtime(1382544000); 
+---------------------------+ 
| from_unixtime(1382544000) | 
+---------------------------+ 
| 2013-10-24 00:00:00       | 
+---------------------------+

二、将指定的日期或者日期字符串转换为时间戳

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') ; 

 

posted @ 2023-03-29 11:18  晨光浅夏  阅读(1333)  评论(0编辑  收藏  举报