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

在数据库教程设计时必须注意时间字段为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')
其它的做法是一样的。

时间: 2024-07-28 20:39:17

mysql 查询指定日期时间内sql语句实现原理与代码_php技巧的相关文章

通过BINLOG日志查找指定日期的SQL语句

通过BINLOG日志查找指定日期的SQL语句 在95数据库服务器查找posts.post_thread的postid=1652971,在 2013-02-24 日执行的对数据有修改的SQL语句 www.bitsCN.com # grep datadir /etc/mysql/my.cnf datadir                                         = /ssd/mysql # cd /ssd/mysql # mysql -A -e "show master s

mysql 查询指定日期时间内容sql查询语句

mysql教程 查询指定日期时间内容sql查询语句 在数据库教程设计时必须注意时间字段最好为int(4)这样,保存在数据库的时一个数字型日期时间截,我们可以用mktime函数求出当前日期的时间截进行加减就OK了,下面看实例 $time = time();   //一个月 $lastMonth = mktime(date('h'),date('i'),date('s'),date('m')-1,date('d'),date('y')); $where .= "  dtime < $lastM

MySQL查询指定日期内数据sql(本月本周与上月上周)

今天  代码如下 复制代码 select * from 表名 where to_days(时间字段名)=to_days(now()); 昨天  代码如下 复制代码 SELECT * FROM `表名` where TO_DAYS(NOW()) – TO_DAYS(时间字段名) = 1; /*DATEDIFF(now() , FROM_UNIXTIME(`时间字段名`)) = 1; //时间字段 存储类型为时间戳*/ 7天  代码如下 复制代码 SELECT * FROM `表名` where D

mysql 查询筛选重复数据sql语句

查询重复数据数量  代码如下 复制代码 select device_id from device group by device_id having count(device_id) > 1; 查询所有重复数据  代码如下 复制代码 select userid, device_id, create_date from device where device_id in (select device_id from device group by device_id having count(de

mysql查询当天所有数据sql语句

  mysql查询当天的所有信息: 代码如下 select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) and day(regdate)=day(now()) 这个有一些繁琐,还有简单的写法: 代码如下 select * from table where date(regdate) = curdate(); 另一种写法没测试过 查询当天的记录 代码如下 select * from hb_a

php+mysql查询指定日期记录 本月数据点击排行

$time = time(); $days = 86400*30; $sql = "select * from test where  $time-updated<$days  order by click_num desc limit 10 "; $db ='daydb'; $query = mysql_db_query($db,$sql,mysql_connect('localhost','root','root')); if( $query ) {  while( $rs

PHP正则匹配日期和时间(时间戳转换)的实例代码_php技巧

先来一个比较简单实用的代码 日期YYYY-MM-DD $str = ''; $isMatched = preg_match('/^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/', $str, $matches); var_dump($isMatched, $matches); php需要一定的时间格式才能转换成时间戳(表示从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数),这就要用到php正则判断,以下是代码: <?php //匹配时间格式为2016-0

mysql下创建字段并设置主键的php代码_php技巧

复制代码 代码如下: mysql_select_db("hills_database_test",$dbcon); $alterpkadd="alter table hills_testcreatetable add id int(32) not null auto_increment primary key;"; mysql_query($alterpkadd,$dbcon); mysql_close($dbcon); 嘿嘿..好容易哟..一句话搞定

在字符串指定位置插入一段字符串的php代码_php技巧

复制代码 代码如下: //插入一段字符串 function str_insert($str, $i, $substr) { for($j=0; $j<$i; $j++){ $startstr .= $str[$j]; } for ($j=$i; $j<strlen($str); $j++){ $laststr .= $str[$j]; } $str = ($startstr . $substr . $laststr); return $str; } Popularity: 3%