mysql查询周数_MySQL根据年份的周数获取该周起始时间
概述
做项目中,碰到了个难题:想要根据年份和第几周获取该周的周一和周日的时间。找了下MySQL中的日期函数,发现没有。既然没有轮子用,那我们自己造个轮子。
根据年份和周数获取该周第一天的日期
-- 自定义函数
delimiter //
drop function if exists FUN_GET_FIRSTDATE_OF_WEEK;
create function FUN_GET_FIRSTDATE_OF_WEEK(years int,weeks int) returns varchar(32)
begin
declare days int default 0;
if weeks = 1 then
return concat(years,'-01-01');
elseif weeks >1 then
select dayofweek(concat(years,'-01-01'))-2 into days;
return makedate(years,weeks*7-days-6);
else
return null;
end if ;
end//
delimiter ;
-- 函数调用
select FUN_GET_FIRSTDATE_OF_WEEK(2019,8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
注意:第一周的第一天存在跨年的问题,一般都是取1月1号
根据年份和周数获取该周最后一天的日期
-- 自定义函数
delimiter //
drop function if exists FUN_GET_LASTDATE_OF_WEEK;
create function FUN_GET_LASTDATE_OF_WEEK(years int,weeks int) returns varchar(32)
begin
declare days int default 0;
if weeks * 7 >= 365 then
return concat(years,'-12-31');
elseif weeks *7 < 365 and weeks *7 >0 then
select dayofweek(concat(years,'-01-01'))-2 into days;
return makedate(years,weeks*7-days);
else
return null;
end if;
end//
delimiter ;
-- 函数调用
select FUN_GET_LASTDATE_OF_WEEK(2020,1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
注意:年份的最后一周不一定是周日,直接取12月31号即可
mysql查询周数_MySQL根据年份的周数获取该周起始时间相关推荐
- mysql查询数据库日期_mysql如何查询日期与时间
前言: 在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询.关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法. 1.日期和时间类型 ...
- mysql 查询数据 程序_MySQL 查询数据
MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...
- MySQL查询的方法_MYSQL 查询方法
mysql表格查询方法: 查询: 1.简单查询 select * from Info --查所有数据 select Code,Name from Info --查指定列的数据 select Code ...
- mysql 查询慢 分析_MySQL优化:定位慢查询的两种方法以及使用explain分析SQL
一条SQL查询语句在经过MySQL查询优化器处理后会生成一个所谓的执行计划,这个执行计划展示了具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等. 本章的内容就 ...
- mysql 查询缓存设置_MySQL查询缓存设置 提高MySQL查询性能
从 MySQL4开始,出现了QueryCache查询缓存,如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询.这样就大大提 ...
- Mysql查询统计按年月日(年、季、月、周、日)
Mysql查询统计:按年.季.月.周.日 按年统计交易金额. SELECTsum(goods_fee),YEAR (FROM_UNIXTIME(create_time, '%Y-%m-%d')) FR ...
- mysql count 百万级_MySQL 的 count(*) 的优化,获取千万级数据表的总行数
一.前言 二.关于count的优化 三.使用explain获取行数1.关于explain 2.关于返回值 一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(* ...
- mysql查询语句题目_MySQL经典练习题及答案,常用SQL语句练习50题
--1.查询"01"课程比"02"课程成绩高的学生的信息及课程分数 select a.* ,b.s_score as 01_score,c.s_score as ...
- mysql查询sql计划_MySQL 查询计划 总结
(一)查询计划 释义 查询计划: SQL语句是怎样进行执行的 使用 EXPLAIN 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理你的 SQL 语句的.分析你的查询语句或 ...
- mysql查询语句 变量_mysql查询语句中用户变量的使用
先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...
最新文章
- reg类型变量综合电路_verilog中reg和wire类型的区别
- java raw_GitHub - Braw115/JavaWEB: JavaWEB学习之中的一些Demo
- matlab把cell矩阵转换成能处理的数据
- Nmap源码分析(脚本引擎)
- make编译工具使用
- linux裁剪—定制自己所需要的linux
- 在.Net中进行跨线程的控件操作(上篇:Control.Invoke)
- 组件中使用_React四种组件通信详解
- django09: ORM以及CSRF(旧笔记)
- OSChina 周四乱弹 —— 要成立复仇者联盟了,来报名
- keepalived与lvs结合使用配置实例
- 看我出招之:svchost.exe文件删不得
- 博弈论(2)DP/记忆化搜索
- Linux 用户和组 (1)基本概念
- animate改变背景颜色_3D MAX2016视口背景设置里各参数的含义详解 - 3dmax基础操作入门教程-3dmax材质教程,3d材质贴图教程参数,vray材质参数,3dmax贴图教程...
- 导入从postman导出的json接口文件,并设置全局变量
- 一篇文章带你大致了解5G关键技术、协议架构、网络优化覆盖、业务测试与验证
- unity text颜色渐变
- Sinew探索金融衍生品领域,增强金融市场流动性
- 冠军团队访谈录|第三届全国人工智能大赛