mysql查询时间戳和日期的转换

时间:2022-09-22 15:41:52
mysql查询时间戳和日期的转换 在 数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳, 也有的直接存日期,查询的时候可能不是那么好弄. mysql提供了两个函数:           from_unixtime(time_stamp)   ->  将时间戳转换为日期           unix_timestamp(date)             ->  将指定的日期或者日期字符串转换为时间戳  如:   from_unixtime(time_stamp) 
[plain] 
select from_unixtime(1382544000);  
+---------------------------+  
| from_unixtime(1382544000) |  
+---------------------------+  
| 2013-10-24 00:00:00       |  
+---------------------------+  
如: unix_timestamp(date) 

[plain] 
select unix_timestamp(date('2013-10-24'));  
+------------------------------------+  
| unix_timestamp(date('2013-10-24')) |  
+------------------------------------+  
|                         1382544000 |  
+------------------------------------+  

如果要查询当天的订单的记录:
[plain] 
select count(*) from b_order Where  date_format(from_unixtime(create_time),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')  

也可以这样:
[plain] 
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') ;  




用 DATE_FORMAT 来格式化日期字段

DATE_FORMAT(date,format) #ate 参数是合法的日期。format 规定日期/时间的输出格式。 SELECT NOW(); #2016-12-09 14:03:00 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d'); 可以但
SELECT DATE_FORMAT(时间戳,'%Y-%m-%d');不行



SELECT DATE_FORMAT(crt_time, '%Y-%m-%d' ) FROM ad_n_advertise_t

date 参数是合法的日期。format 规定日期/时间的输出格式。