用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

MySql时间日期分段查询sql语句

时间:2015-01-23  来源:西部数据  作者:西部数据

分段查询是指查询一个时间段的数据,如我想查出20131030到20131031号之间的数据这就是时间日期分段查询了,或几天前的,几个月的数据都可以这样实现,下面小编来给大家总结一下mysql日期时间各种查询语句.

php中的mktime函数按时间分段查询,其实除了这种解决方案以外,在MySql中也有专门针对日期和时间的函数,包括DATE()、DATE_ADD()、DATE_SUB()、DATE_FORMAT()等等。

php实例代码如下:

最近三个月内的订单情况,SQL语句如下:

$sql=”SELECT * FROM shopping_order WHERE dtTime>=DATE_SUB(NOW(), INTERVAL 3 MONTH)”;

如果是查询最近15天内的订单,则SQL语句如下:

$sql=”SELECT * FROM shopping_order WHERE dtTime>=DATE_SUB(NOW(), INTERVAL 15 DAY)”;

mktime函数,代码如下:

函数来查询下最近三个月内的订单情况,SQL语句如下:

$bgdte=date(”Y-m-d H:i:s”,mktime(date(’H'),date(’i'),date(’s’),date(’m')-3,date(’d'),date(’Y')));

$sql=”SELECT * FROM shopping_order WHERE dtTime>=’”.$bgdte.”‘”;

如果是查询最近15天内的订单,则SQL语句如下:

$bgdte=date(”Y-m-d H:i:s”,mktime(date(’H'),date(’i'),date(’s’),date(’m'),date(’d')-15,date(’Y'))); //phpfensi.com

$sql=”SELECT * FROM shopping_order WHERE dtTime>=’”.$bgdte.”‘”;

sql按年月分组和按月分组查询语句,代码如下:

按月分组:select month(FROM_UNIXTIME(time)) from table_name group by month(FROM_UNIXTIME(time))

按年月分组:select DATE_FORMAT(FROM_UNIXTIME(time),"%Y-%m") from tcm_fund_list group by DATE_FORMAT(FROM_UNIXTIME(time),"%Y-%m")

其中time是整数如:1159718400 代表2006-10-02.

查询今天、昨天、7天、近30天、本月、上一月 数据,代码如下:

今天:select * from 表名 where to_days(时间字段名) = to_days(now());

昨天:SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名) <= 1

7天:SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)

近30天:SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

本月:SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, ‘%Y%m’ ) = DATE_FORMAT( CURDATE( ) , ‘%Y%m’ )

上一月:SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , ‘%Y%m’ ) , date_format( 时间字段名, ‘%Y%m’ ) ) =1

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门