php查询当月sql记录

2023-05-16

以前我在查询数据库今天或昨天,近7天,近30天,本月,上一月数据都是直接通过php来判断了,这样感觉是多一个环节了,下面我介绍一篇直接使用sql统计出当天,昨天,近7天,近30天,本月,上一月数据语句,现在分享给各位。

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

 代码如下复制代码

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

或者:

 代码如下复制代码

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

假设以上表的add_time字段的存储类型是DATETIME类型或者TIMESTAMP类型,则查询语句也可按如下写法:

查询今天的信息记录:

 代码如下复制代码

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

查询昨天的信息记录:

 代码如下复制代码

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

查询近7天的信息记录:

 代码如下复制代码

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

查询近30天的信息记录:

 代码如下复制代码

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

查询本月的信息记录:

 代码如下复制代码

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

查询上一月的信息记录:

 代码如下复制代码

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

对上面的SQL语句中的几个函数做一下分析:

(1)to_days

就像它的名字一样,它是将具体的某一个日期或时间字符串转换到某一天所对应的unix时间戳,如:

 代码如下复制代码

01 mysql> select  to_days(’2010-11-22 14:39:51′);

02  +——————————–+

03 | to_days(’2010-11-22 14:39:51′) |

04 +——————————–+

05 |                         734463 |

06 +——————————–+

07 

08 mysql> select  to_days(’2010-11-23 14:39:51′);

09 +——————————–+

10 | to_days(’2010-11-23 14:39:51′) |

11 +——————————–+

12 |                         734464 |

13 +——————————–+

可以看出22日与23日的差别就是,转换之后的数增加了1,这个粒度的查询是比较粗糙的,有时可能不能满足我们的查询要求,那么就需要使用细粒度的查询方法str_to_date函数了,下面将分析这个函数的用法。

提醒:

(1)to_days() 不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。因此对于1582 年之前的日期(或许在其它地区为下一年 ), 该函数的结果实不可靠的。

(2)MySQL”日期和时间类型”中的规则是将日期中的二位数年份值转化为四位。因此对于’1997-10-07′和’97-10-07′将被视为同样的日期:

 代码如下复制代码

1 mysql> select to_days(’1997-10-07′), to_days(’97-10-07′);

3 -> 729669, 729669

(2)str_to_date

这个函数可以把字符串时间完全的翻译过来,如:

 代码如下复制代码

1 mysql> select str_to_date(“2010-11-23 14:39:51″,’%Y-%m-%d %H:%i:%s’);

3 +——————————————————–+

4 | str_to_date(“2010-11-23 14:39:51″,’%Y-%m-%d %H:%i:%s’) |

5 +——————————————————–+

6 | 2010-11-23 14:39:51                                    |

7 +——————————————————–+

具体案例操作如下:

 代码如下复制代码

1 select str_to_date(article.`add_time`,’%Y-%m-%d %H:%i:%s’)

2 from article

3 where str_to_date(article.`add_time`,’%Y-%m-%d %H:%i:%s’)>=’2012-06-28 08:00:00′ and str_to_date(article.`add_time`,’%Y-%m-%d %H:%i:%s’)<=’2012-06-28 09:59:59′;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php查询当月sql记录 的相关文章

  • MySQL如何在没有过程/函数的情况下执行命令块

    我尝试在 MySQL Workbench 上运行一段 SQL 命令 就像在 SQL Server 上一样 但它告诉我 声明在此位置无效 我在网上看到了各种这样的例子 我真的不明白为什么会出现这个错误 一些提示 代码 其中 SQL Serve
  • Laravel 5.1 - 获取当前路线

    我正在开发一个为每个视图自动获取资源 css js 的函数 所以它工作得很好 让我们说 http mywebsite com displayitems http mywebsite com displayitems home about 等
  • 在 Twig 中使用 PHP 函数

    我有一个 PHP 代码 用于在我的通用控制器中为我的 Twig 模板添加一个新类 opencart htdocs catalog controller common cart php 该代码应检查设备是否是移动设备 function onS
  • 设置了 @version $Id$ 的 SVN Checkout

    我在 Subversion 中进行开发 在每个 PHP 文件的顶部都有以下注释块
  • Laravel 4 - JOIN - 相同的列名

    我目前使用此代码从数据库中检索所需的数据 query DB table packages gt join assigned packages function join use id join gt on packages id assig
  • 表被指定两次作为 INSERT 的目标和单独的数据源

    我做了这个查询 但它给了我错误 就像标题中一样 INSERT INTO data waktu vaksinasi id binatang id vaksin tanggal vaksin status vaksin VALUES 1 1 S
  • PHP 数字:小数点仅在需要时可见

    我想知道是否存在一些函数可以自动按十进制格式化数字 所以如果我有 所以我的答案是 如果我的数据库中有 DECIMAL 数据格式 仅当它
  • SQL 用随机数据填充表

    我有一个包含两个字段的表 id UUID 是主键并且 描述 var255 我想用SQL语句插入随机数据 我希望这个描述是随机的 PS 我正在使用 PostgreSQL 我不确定这是否符合 随机描述 的要求 也不清楚您是否想要生成完整的数据
  • 我需要编写什么代码才能使用 HTTPS?

    在标准的 小册子 站点中 我有一个子系统 其中私人数据在一系列页面中来回传递 该网站已完成 现在可以在没有 HTTPS 的情况下运行 有人可以向我指出在网站的安全部分实施 HTTPS 所需执行的步骤列表吗 作为程序员 您唯一需要做的就是检查
  • Yii2 - 如何自动加载自定义类?

    我创建了以下自定义类 我想在我的 Yii2 应用程序中使用它 common components helper CustomDateTime php namespace common components helper class Cust
  • Yii 框架将变量从控制器传递到视图

    要将变量传递给登录视图 我使用 this gt render login array model gt model 但我还需要在模板部分 footer php 中访问此变量 我试试这个 this gt render footer array
  • 来自发布数据的 CodeIgniter 未通过

    我试图在 CodeIgniter 中上传文件 但是当我添加 enctype multipart form data 时 不会有任何发布数据通过 甚至其他领域也根本没有 但是 当我不添加它时 我可以获得其他帖子数据 但当然没有文件上传 这里出
  • XML 和 INI 哪个更快?

    我想知道 XML 是否比 INI 更快 反之亦然 我正在开发一个包含许多文件的网站 这个问题与我的问题有关关于包含许多文件 https stackoverflow com questions 7777522 too many include
  • 获取本周星期一和星期五的日期 (PHP)

    如何获取本周周一和周五的日期 我有以下代码 但如果当天是星期日或星期六 则会失败 current day date N days to friday 5 current day days from monday current day 1
  • en_CA 语言环境中 sprintf 中的逗号作为小数分隔符

    是否可以在 en CA 语言环境中的 sprintf 中使用逗号作为小数点分隔符 sprintf 能够识别区域设置 并且将始终使用当前的区域设置 但您可以使用数字格式 http php net manual en function numb
  • SQL查询中的Python列表作为参数[重复]

    这个问题在这里已经有答案了 我有一个 Python 列表 比如说 l 1 5 8 我想编写一个 SQL 查询来获取列表中所有元素的数据 例如 select name from students where id IN THE LIST l
  • Doctrine 模型的默认排序属性

    我想知道是否有办法声明我的学说模型的默认顺序 e g 我有一个work模型并且它有photos 当我加载作品时 与其关联的所有照片都会加载到 work gt photos 当我显示它们时 它们是按 ID 排序的 在另一个字段上声明默认顺序或
  • PHP 中 C# 的空合并运算符 (??)

    PHP 中是否有三元运算符或类似的操作符 of C 在 C 中是干净且简短的 但在 PHP 中你必须执行以下操作 This is absolutely okay except that REQUEST test is kind of red
  • 无法使用 javascript 建立与安全 Websocket 服务器的连接

    我的开发环境是这样的 操作系统 微软Windows 10 PHP 框架 Laravel 8 0 PHP 版本 7 4 Websocket 服务器 cboden ratchet 0 4 3 WAMP 服务器 3 2 0 Apache 2 4
  • 如何用破折号替换所有大写字母,用正则表达式替换所有小写字母?

    如何在 php 中用破折号和小写字母替换所有大写字母 Such as understandRegexBetter to understand regex better 我的 Google fu 和对以下代码的实验并没有让我走得太远 echo

随机推荐

  • 1.3安装Ubuntu20.4系统

    在NUC小电脑上装乌班图Ubuntu系统的步骤 xff0c 在VMware虚拟机上安装Ubuntu系统也差不多是一样的 安装Ubuntu20 4 xff08 用虚拟机的跳过此步骤 xff09 开机之前把U盘启动盘插在小电脑上 xff0c 否
  • C++:类定义下的对象成员,静态成员,以及静态成员函数的实现

    我之前在一篇文章中 xff0c 讲解了对象是什么 xff0c 对于一些刚看我文章的朋友 xff0c 我在这里再次简单的描述一下 xff0c 如果想要更加深入的了解 xff0c 就请就看我之前发表的文章 我们知道 xff0c c 43 43
  • Linux项目自动化构建工具-make/makefile 介绍及使用

    使用背景 在工程中的源文件不计数 xff0c 其按类型 功能 模块分别放在若干个目录中 xff0c makefile定义一系列 规则来指定什么文件需要先编译 xff0c 什么文件需要后编译 xff0c 哪些文件需要重新编译 xff0c 或者
  • 学习笔记二(开发板入门)

    正点原子Stm32开发板IO对于5V的兼容性判断 xff1a 从原理图上看 xff0c 凡是有ADC字样的IO xff0c 都不兼容5V xff0c 反之 xff0c 则都兼容5V 开发板供电的时候 xff0c 有如下注意事项 xff1a
  • 2D转换之缩放 transform:scale()(笔记)

    4 5 2D转换之缩放scale 缩放 xff0c 顾名思义 xff0c 可以放大和缩小 只要给元素添加上了这个属性就能控制它放大还是缩小 缩放 1 语法 transform scale x y 2 注意 注意其中的x和y用逗号分隔 tra
  • 2D转换综合写法(笔记)

    注意 1 同时使用多个转换 xff0c 其格式为 transform translate rotate scale 等 xff0c 2 其顺序会影转换的效果 先旋转会改变坐标轴方向 3 当我们同时有位移和其他属性的时候 xff0c 记得要将
  • 2D转换总结(日志)

    转换transform 我们简单理解就是变形有2D和3D之分我们暂且学了三个分别是位移旋转和缩放2D移动translate x y 最大的优势是不影响其他盒子 xff0c 里面参数用 xff0c 是相对于自身宽度和高度来计算的可以分开写比如
  • 大数据热点分析图源码

    lt style gt body background color 333 map position relative width 746px height 617px margin 30px auto background url ima
  • 关于微信支付和支付宝支付,调试不同的常见问题

    1 首先要知道 xff1a 微信支付 xff0c 电脑端扫描支付 xff0c 手机微信支付 xff0c 用的是一个接口 xff1b 支付宝的即时到账 xff0c 电脑端和手机端的支付 xff0c 使用的是两个不同的接口 xff0c 这点很坑
  • 奔跑的熊大动画效果JS

    利用动画去尝试制作相应的动画效果熊的制作思路在于 xff1a 图片添加了动画效果 xff0c 在时间范围内渐动改变 xff0c 关键帧一直在改变 xff0c 图片被往前拉熊展现奔跑的效果熊奔跑的制作思路 xff1a 基础效果盒子移动到水平居
  • JS中 遍历数组 2022/3/23日志

    lt 遍历数组 xff0c 找出大于20的数组 xff0c 重组新数组 gt lt script gt 创建新数组需要利用 new Array 关键字建立 var array 61 new Array 22 12 64 12 15 122
  • JS·函数

    1 函数语法规则 xff1a 声明部分 function 函数名 xff08 xff09 function为声明函数的关键字 函数体执行代码 xff08 xff09 注意 xff1a 声明函数后需要调用函数否则无效 xff0c 函数不调用自
  • JS中函数与作用域的定义(日志-2022.3.28)

    1 函数中的两种命名方式 xff1a 1 利用函数关键字function自定义函数 xff08 命名函数 xff09 function fu xff08 xff09 fn 2 利用函数表达式 xff08 匿名函数 xff09 var 变量名
  • JS中构造函数

    一 构造函数定义方法 语法规则 xff1a function 构造函数名 xff08 实参 xff09 this 属性名 61 属性值 xff1b this 方法 61 function 实参 普通函数体 xff1b 调用方式 xff1a
  • 构造函数的三种方式以及输出

    构造函数的三种方式以及输出 lt body gt lt 构造函数创建对象 gt lt 该方法一次一次创建多个 gt lt script gt var i 61 0 function Car kg color product skill th
  • JS实现静态计算器(刷新自动更新数值)页面制作与问题总结

    1 JS部分 xff1a var worldTime 61 43 new Date 返回世界时间距现在多久 var nowTime 61 43 new Date time 输出我们定义的时间并且转换为毫秒参与计算 var trueTime
  • 移动端布局基础(html+css+js)

    1 视口 1 布局视口 一般移动设备的浏览器都默认设置了一个布局视口 xff0c 用于解决早期的PC端页面在手机上显示的问题 iOS Android基本都将这个视口分辨率设置为980px xff0c 所以PC上的网页大多都能在手机上呈现 x
  • JS中数组基础对象部分

    1 创建数组的两种方式 1 xff0e 利用数组字面量 var arr 61 1 2 3 console log arr arr1 2 xff0e 利用new Array var arr1 61 new Array 创建了一个空的数组 va
  • 利用indexOf方法去删除重复数组

    利用indexOf方法去删除重复数组 原理 xff1a indexof在数组中去遍历如果有我们需要的元素就会返回元素所在索引号 xff0c 若没有就会返回 1 xff1b 注意在索引时要求调用的参数与数组中的参数应该数据类型的一致 xff0
  • php查询当月sql记录

    以前我在查询数据库今天或昨天 近7天 近30天 本月 上一月数据都是直接通过php来判断了 xff0c 这样感觉是多一个环节了 xff0c 下面我介绍一篇直接使用sql统计出当天 昨天 近7天 近30天 本月 上一月数据语句 现在分享给各位