MySQL查询日期型数值常用SQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 1.MySQL 获得当前日期/时间函数:TO_DAYS()函数返回的一个天数,这个天数等于从epoch到给定日期的天数;查询今天新增的记录# 字段名不需要加引号;SELECT * FROM test WHERE TO_DAYS...

1.MySQL 获得当前日期/时间函数:

img_be440a234a33a0f127ba1e0c23821867.png

TO_DAYS()函数返回的一个天数,这个天数等于从epoch到给定日期的天数;

  1. 查询今天新增的记录
# 字段名不需要加引号;
SELECT * FROM test WHERE TO_DAYS(add_time) = TO_DAYS(NOW());
  1. 查询昨天新增的记录
SELECT * FROM test WHERE TO_DAYS(NOW())-TO_DAYS(add_time) = 1;
  1. 查询近7天新增的记录;
# 这里的近七天包含今天
SELECT * FROM test WHERE DATE_SUB(CURDATE(), INTERVAL 6 DAY) <=DATE(add_time)

DATE_SUB() 函数用来从给定日期减去给定的时间间隔。语法: DATE_SUB(date,INTERVAL expr type)
date 参数是合法的日期表达式;
expr 参数是您希望添加的时间间隔。
type可以取SECOND/MINUTE/HOUR/DAY/WEEK/MONTH/QUARTER/YEAR等等
与DATE_SUB()对应的函数是DATE_ADD()函数,用来从给定日期加上给定的时间间隔。

这里的给定的时间间隔除了天,还可以是其他所有DATE_SUB()函数支持的类型。

  1. 查询本周(自然周)修改的记录
SELECT * FROM test WHERE YEARWEEK(update_time,1) = YEARWEEK(now()); 

YEARWEEK() 是获取年份和周数的一个函数,函数语法为YEARWEEK(date[,mode]) ;参数mode可选。
默认情况下,是把周日,作为一周的开始。而mode 则用来指定‘First day of week’ 以及用什么样的逻辑,来计算一年中的第一周。详见此文

  1. 查询本月新增的记录
SELECT * FROM test WHERE DATE_FORMAT( add_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
语法:DATE_FORMAT(date,format) ;date 参数是合法的日期。format 规定日期/时间的输出格式。
这里要注意的是。format中大小写敏感,详见w3cshcool

7.查询上个月新增的记录;

SELECT * FROM test WHERE PERIOD_DIFF(date_format(NOW( ) , '%Y%m' ) , DATE_FORMAT(add_time, '%Y%m' ) ) =1
  1. 查询本季度新增的数据(第一季度为1-3月)
#如果是查询本年,需要加上YEAR()条件;
SELECT * from test WHERE QUARTER(add_time)=QUARTER(now()) AND YEAR(add_time)=YEAR(NOW());

9.查询上一季度新增的数据

SELECT * FROM  test  WHERE QUARTER(add_time)=QUARTER(DATE_SUB(now(),INTERVAL 1 QUARTER)) AND YEAR(add_time)=YEAR(NOW());

持续完善中.....

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
SQL 存储 缓存
MySQL的架构与SQL语句执行过程
MySQL架构分为Server层和存储引擎层,具有高度灵活性和可扩展性。Server层包括连接器、查询缓存(MySQL 8.0已移除)、分析器、优化器和执行器,负责处理SQL语句;存储引擎层负责数据的存储和读取,常见引擎有InnoDB、MyISAM和Memory。SQL执行过程涉及连接、解析、优化、执行和结果返回等步骤,本文详细讲解了一条SQL语句的完整执行过程。
11 3
|
11天前
|
SQL 关系型数据库 分布式数据库
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
|
3天前
|
SQL 关系型数据库 MySQL
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
11 2
|
3天前
|
SQL 关系型数据库 OLAP
云原生数据仓库AnalyticDB PostgreSQL同一个SQL可以实现向量索引、全文索引GIN、普通索引BTREE混合查询,简化业务实现逻辑、提升查询性能
本文档介绍了如何在AnalyticDB for PostgreSQL中创建表、向量索引及混合检索的实现步骤。主要内容包括:创建`articles`表并设置向量存储格式,创建ANN向量索引,为表增加`username`和`time`列,建立BTREE索引和GIN全文检索索引,并展示了查询结果。参考文档提供了详细的SQL语句和配置说明。
20 1
|
5天前
|
算法 关系型数据库 MySQL
join查询可以⽆限叠加吗?MySQL对join查询有什么限制吗?
大家好,我是 V 哥。本文详细探讨了 MySQL 中 `JOIN` 查询的限制及其优化方法。首先,`JOIN` 查询不能无限叠加,存在资源(CPU、内存、磁盘 I/O)、性能和语法等方面的限制。过多的 `JOIN` 操作会导致数据库性能急剧下降。其次,介绍了三种常见的 `JOIN` 查询算法:嵌套循环连接(NLJ)、索引嵌套连接(INL)和基于块的嵌套循环连接(BNL),并分析了它们的触发条件和性能特点。最后,分享了优化 `JOIN` 查询的方法,包括 SQL 语句优化、索引优化、数据库配置调整等。关注 V 哥,了解更多技术干货,点赞👍支持,一起进步!
|
9天前
|
SQL Oracle 关系型数据库
【YashanDB 知识库】如何将 mysql 含有 group by 的 SQL 转换成崖山支持的 SQL
在崖山数据库中执行某些 SQL 语句时出现报错(YAS-04316 not a single-group group function),而这些语句在 MySQL 中能成功执行。原因是崖山遵循 SQL-92 标准,不允许选择列表中包含未在 GROUP BY 子句中指定的非聚合列,而 MySQL 默认允许这种操作。解决办法包括:使用聚合函数处理非聚合列或拆分查询为两层,先进行 GROUP BY 再排序。总结来说,SQL-92 更严格,确保数据一致性,MySQL 在 5.7 及以上版本也默认遵循此标准。
|
10天前
|
SQL 数据可视化 IDE
SQL做数据分析的困境,查询语言无法回答的真相
SQL 在简单数据分析任务中表现良好,但面对复杂需求时显得力不从心。例如,统计新用户第二天的留存率或连续活跃用户的计算,SQL 需要嵌套子查询和复杂关联,代码冗长难懂。Python 虽更灵活,但仍需变通思路,复杂度较高。相比之下,SPL(Structured Process Language)语法简洁、支持有序计算和分组子集保留,具备强大的交互性和调试功能,适合处理复杂的深度数据分析任务。SPL 已开源免费,是数据分析师的更好选择。
|
6月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
8月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
192 13
|
8月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
115 9