mysql查询时间戳和日期的转换
在数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳,
也有的直接存日期,查询的时候可能不是那么好弄.
mysql提供了两个函数:
from_unixtime(time_stamp) -> 将时间戳转换为日期
unix_timestamp(date) -> 将指定的日期或者日期字符串转换为时间戳
如: from_unixtime(time_stamp)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
[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' ) ; |