首页 > 数据库 >mysql将某一个月所有天数构造出来

mysql将某一个月所有天数构造出来

时间:2023-10-30 13:46:31浏览次数:40  
标签:UNION 天数 构造 day 日期 mysql DAY SELECT

写项目时会遇到统计某个月每一天数据的场景

mysql可以将某个月的所有日期构造出来

DAY()函数:返回给定日期的月份的日期部分

LAST_DAY()函数:返回某个月最后一天的日期

STR_TO_DATE()函数:将字符串格式转换成日期格式

ADDDATE()函数:将指定的日期值添加到现有日期上,并返回结果




SELECT ADDDATE(month.firstDay, days.day - 1) as result
FROM
(SELECT 1 AS day UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL
SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL
SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL SELECT 19 UNION ALL SELECT 20 UNION ALL SELECT 21 UNION ALL
SELECT 22 UNION ALL SELECT 23 UNION ALL SELECT 24 UNION ALL SELECT 25 UNION ALL SELECT 26 UNION ALL SELECT 27 UNION ALL SELECT 28 UNION ALL
SELECT 29 UNION ALL SELECT 30 UNION ALL SELECT 31) days,
(SELECT '2023-09-01' as firstDay, DAY(LAST_DAY(str_to_date('2023-09-01','%Y-%m-%d'))) AS dayNum) month
WHERE days.day <= month.dayNum
————————————————

标签:UNION,天数,构造,day,日期,mysql,DAY,SELECT
From: https://www.cnblogs.com/zhyp/p/17797634.html

相关文章

  • 使用Lombok@Builder、@Data(没有生成无参构造方法)这个坑要注意,使用@Builder时配合@NoAr
    使用Lombok@Builder、@Data(没有生成无参构造方法)这个坑要注意,,使用@Builder时配合@NoArgsConstructor和@AllArgsConstructor一起使用Lombok为我们开发带来了极大便利,特别是在想要使用建造者模式的时候只需要在类上加@Builder注解即可。但是不小心也会引发隐藏的bug。我们来看......
  • windwos下mysql开启ssl
    1.下载opensslhttps://slproweb.com/products/Win32OpenSSL.html2.配置openssl到环境变量 3.创建证书及密钥mysql_ssl_rsa_setup.exe--datadir=d:/app/mysql/certs--verbose参数说明-d,--datadir=name数据目录路径-?,--help显示帮助信息并退出-s,--suffix=nameX.50......
  • 解决MYSQL查询报错 Expression #4 of SELECT list is not in GROUP BY clause and con
    原因:在MySQL5.7.5后,默认开启了ONLY_FULL_GROUP_BY,所以导致了之前的一些SQL无法正常执行,其实,是我们的SQL不规范造成的,因为groupby之后,返回的一些数据是不确定的,所以才会出现这个错误。执行下面的命令后,重启你的代码,就可以了selectversion(),@@sql_mode;SETsql_mode=(SELECTRE......
  • 本机计算机上的mysql启动后停止
    本机计算机上的mysql启动后停止原因:mysql5.0和mysql8.0配置不同把my.ini改成以下设置然后再重新mysqld--initialize-insecure--user=mysql然后再启动netstartmysqlmysql8.0下面的路劲可自定义[client]default-character-set=utf8[mysql]default-character-set=utf8[mysql......
  • MySQL主键使用数值型和字符型的区别
    在了解数值型主键和字符型主键之前,需要先谈谈什么是主键、主键的特性、以及字段类型的存储空间,掌握了这些才能更好的理解数值型主键和字符型主键的区别。什么是主键在数据库中,主键是用于唯一标识数据库表中的每一行数据。主键能够确保数据的唯一性,并在表中建立索引,以提高查询效率。......
  • MySQL更新字段:为0改1,为1改0
    1、先把数据查询出来,根据需要再判断是改为0,或改1。2、使用ABS函数UPDATEbucketSETis_disable=ABS(is_disable-1)WHEREid=1;3、使用IF函数updatebucketsetis_disable=IF(is_disable<1,1,0)whereid=1;4、使用CASE函数UPDATEbucketSETis_disable=C......
  • C# 构造函数的重载
    调三个参数的构造函数时,会先调用两个参数的构造,然后再执行自身类似的,反过来也一样,调用两个参数的构造函数时,实际上执行的是三个参数的构造函数,只是中间有个参数设置为空string.Empty......
  • Java基础 反射获取构造方法
    在Java中,万物皆对象。比如,字节码文件可以看作是Class这个类的对象;Constructor这个类是用来描述构造方法的,所以这个类的对象就表示构造方法的对象;Field这个类是用来描述成员变量的,所以这个类的对象就表示成员变量的对象;Method 这个类是用来描述成员方法的,所以这个类的对......
  • 构造矩阵
    构造矩阵我们希望构造一个$n\timesm$的整数矩阵。构造出的矩阵需满足:每一行上的所有元素之积均等于$k$。每一列上的所有元素之积均等于$k$。保证$k$为$1$或$-1$。请你计算,一共可以构成出多少种不同的满足条件的矩阵。由于结果可能很大,你只需要输出对$10^9+7$......
  • Python 利用pymysql和openpyxl操作MySQL数据库并插入Excel数据
    1.需求分析本文将介绍如何使用Python连接MySQL数据库,并从Excel文件中读取数据,将其插入到MySQL数据库中。2.环境准备在开始本文之前,请确保您已经安装好了以下环境:Python3.xPyMySQL库openpyxl库MySQL数据库3.连接MySQL数据库我们可以使用pymysql库来连接MySQL数据库......