mysql today 7_mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句

1.获取上个月第一天及最后一天.

echo date('Y-m-01', strtotime('-1 month'));

echo "
";

echo date('Y-m-t', strtotime('-1 month'));

echo "
";

上面的方法有些问题,根据bg5hfc回复做下修改

上个月第一天:

echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month')); // 计算出本月第一天再减一个月

上个月最后一天:

echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 day')); // 计算出本月第一天再减一天

2.获取当月第一天及最后一天.

$BeginDate=date('Y-m-01', strtotime(date("Y-m-d")));

echo $BeginDate;

echo "
";

echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day"));

echo "
";

3.获取当天年份、月份、日及天数.

echo " 本月共有:".date("t")."天";

echo " 当前年份".date('Y');

echo " 当前月份".date('m');

echo " 当前几号".date('d');

echo "
";

4.使用函数及数组来获取当月第一天及最后一天,比较实用

function getthemonth($date)

{

$firstday = date('Y-m-01', strtotime($date));

$lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day"));

return array($firstday,$lastday);

}

$today = date("Y-m-d");

$day=getthemonth($today);

echo "当月的第一天: ".$day[0]." 当月的最后一天: ".$day[1];

echo "
";

存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下

select id,title,add_time from `article` where date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d');

select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d')) = to_days(now());

查询今天的信息记录

select * from `article` where to_days(`add_time`) = to_days(now());

查询昨天的信息记录

select * from `article` where to_days(now()) – to_days(`add_time`) <= 1;

查询近7天的信息记录

select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`);

查询近30天的信息记录:

select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`);

查询本月的信息记录

select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m');

查询上一月的信息记录

select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值