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

yipeiwu_com7年前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')
其它的做法是一样的。

相关文章

libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢

是否一定要这样做呢?很多网上的帖子都是人云亦云,别人说要,他也说要。 其实用的,每次重装系统,都这样拷一遍,折腾一遍,太辛苦了。 用过APMServ这个傻瓜式安装包的朋友可能会发觉,这个...

php实现Mysql简易操作类

自己封装的Mysql简易操作类,已塞在Ben框架中,基于PDO来写的,代码风格上有些无厘头。。。 mysql.class.php <?php class mysql e...

解析在PHP中使用mysqli扩展库对mysql的操作

1、在PHP中 使用mysqli扩展库对mysql 的dql操作复制代码 代码如下:<?php    header("Content-type: te...

教你如何快捷的使用cmd访问mysql小技巧

教你如何快捷的使用cmd访问mysql小技巧

以window7为例,右击“计算机” - 单击“属性” - 单击“高级系统设置” - 单击“环境变量”,剩下看图: <图1> 右下角"环境变量". <图2>选择...

简单介绍win7下搭建apache+php+mysql开发环境

环境目录:E:\dev​ 一、Apache 下载地址:http://www.apachelounge.com/download/​ 我们下载VC11运行库的 1....