mysql 查询指定日期时间内sql语句实现原理与代码

yipeiwu_com5年前Mysql基础
在数据库教程设计时必须注意时间字段为int(11)这样,保存在数据库的是一个数字型日期时间戳,我们可以用mktime函数求出当前日期的时间戳进行加减就OK了,下面看实例
//一个月
复制代码 代码如下:

$lastMonth = mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-1,date(‘d'),date(‘y'));
$where .= ” dtime > $lastMonth”;

//三个月
复制代码 代码如下:

$lastThreeMonth = mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-3,date(‘d'),date(‘y'));
$where .= ” dtime > $lastThreeMonth”;

$sql = “select * from testtable ” .$where
/*
原理是:
如果是月份就是当前的月减去你要统计的时间如我要查询数据库中从今天起往前三个月的所有记录,我们的语句如下:mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-3,date(‘d'),date(‘y'));
七天内的:mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m'),date(‘d')-7,date(‘y'));
一小时间内的:mktime(date(‘h')-1,date(‘i'),date(‘s'),date(‘m'),date(‘d'),date(‘y'));
上个月第一天:mktime(0,0,0,date(‘m')-1,01,date(‘Y'));
上个月最后一天:mktime(0,0,0,date(‘m'),0,date(‘y'));
本月第一天:这个简单,也就是01了;
本月最后一天:这要用到date函数了,date函数有一个参数t,它就是用来求最后一天的;如:date(‘t')
其它的做法是一样的。

相关文章

Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法

错误提示:Error: Can't create/write to file 'C:\WINDOWS\TEMP\#sql_738_0.MYD' (Errcode: 17) Errno....

php的慢速日志引起的Mysql错误问题分析

在我们的项目中,开启PHP的慢速日志(request_slowlog_timeout = 10s)是必选项,并且它也让我们发现了很多坑,解决了很多的性能问题。 昨天由于碰到了一个非常奇怪...

php+mysql+jquery实现日历签到功能

php+mysql+jquery实现日历签到功能

在网站开发过程中我们会经常用到签到功能来奖励用户积分,或者做一些其他活动。这次项目开发过程中做了日历签到,因为没有经验所有走了很多弯路,再次记录过程和步骤。 1.日历签到样式: 2.本...

mysql 的 like 问题,超强毕杀记!!!

方法一: 解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"...

PHP实现mysqli批量执行多条语句的方法示例

本文实例讲述了PHP实现mysqli批量执行多条语句的方法。分享给大家供大家参考,具体如下: 可以一次性的执行多个操作或取回多个结果集。 实例: <?php $mysq...