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' ) ; 
 例:
SELECT NOW(),UNIX_TIMESTAMP()

UPDATE `order` SET `status` = 'closed' WHERE `pay_status` = 'wait_pay' AND UNIX_TIMESTAMP()>create_time+172800

SELECT create_time+172800,date_add(now(), interval 1 hour),FROM_UNIXTIME(create_time,'%Y%m%d %H'), FROM_UNIXTIME(create_time,'%Y%m%d %H') FROM `order`

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM