SQL数据分析之MySQL数字、字符、日期函数-可用于where和select【精心整理】

数据分析SQL学习路线:从基础查询到窗口函数与性能优化 在数据分析与数据库开发中,SQL作为最基础的数据查询与处理语言,其重要性常被低估。通过掌握分组聚合、多表关联、条件判断等核心语法,能够高效完成数据清洗、统计分析与业务洞察。窗口函数更是从“能查询”进阶到“能分析”的分水岭,配合CASE WHEN、NULL处理和日期函数,可解决留存、排名、同环比等高频分析问题。而在实际工程中,慢SQL排查与索引优化同样关键,合理使用EXPLAIN和规范化写法,能显著提升查询效率。本文围绕7天学习路线,系统梳理了数据分析SQL的高频写法、常见陷阱与优化技巧,帮助初学者和开发者快 阅读详情

一、数字函数

1、round四舍五入
1)用法示例

# 保留整数位四舍五入
select round(1.49);

#指定保留小数点后几位
select round(3.14159,3);

执行结果:1 3.142

2)案例练习:查询国家名称及其首都名称都以相同的字母开头的国家名及其首都,且不能包括国家名称和首都名称相同的情况

select name,capital
from world
where left(name,1)=left(capital,1)
and name!=capital

1.1.2

2、 ceil向上取整,>= 该参数的最小整数

select ceil(3.1415)

select ceil(-3.1415)

执行结果:
4
-3

3、floor向下取整,<=该参数的最大整数

select floor(3.1415);

select floor(-3.1415);

执行结果:
3
-4

4、truncate截断,直接选取小数点后几位(无四舍五入)

select truncate(1.5678,2)

select truncate(3.14159,4)

执行结果:
1.56
3.1415

5、mod取余,x/y的余数,即x%y

#mod用法
select mod(8,4);
select mod(4,8);
select mod(7,3);
select mod(8,3);

#%用法
select 7%3;
select 8%3;

执行结果:
0
4
1
2
1
2

二、字符函数

1、length字符长度:一个字母1字节,一个汉字3字节

select length('Chung');

select length('钟h');

执行结果:
5
4

2、upper大写与lower小写

select upper('Chung');

select lower('ZHONG');

执行结果:
CHUNG
zhong

3、substr和substring截取字符串

#substr
#截取从指定索引处后面所有字符
select substr('我是将要成为海贼王的男人',7);
#截取从指定索引处指定字符长度的字符
select substr('我是将要成为海贼王的男人',7,3);

#substring
select substring('我是将要成为海贼王的男人',7);
select substring('我是将要成为海贼王的男人',7,3);

4、substring_inde按分割符截取字符串
1)格式:substring_index(参数str,参数delim,参数count)

  • str :要处理的字符串
  • delim:分隔符
  • count:计数,取的个数

也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容;
相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容

2)用法示例
例如profile字段下面有这个按照逗号分割的字符串,我们想取年龄

profile
178cm,70kg,27,male

则可以用两次substring_index()将其取出来:

substring_index(substring_index(profile, ',', '3'), ',', -1) 

5、concat拼接字符串
1)用法示例

select concat('Hawk',' · ','Chung');

select concat('我要成为','海泽王','的男人');

2)案例练习:查询首都名称,其中首都需要是国家名称的扩展

select capital,name 
from world
where capital like concat('%',name,'%') and capital!=name

2.4.1

6、 instr 返回字串第首字符一次出现的索引,若未找到则0

#首字符为“海”
select instr('我是将要成为海贼王的男人','海贼王');

#首字符为“贼”
select instr('我是将要成为海贼王的男人','贼王');

执行结果:
7
8

7、trim去除字符:空格或指定字符(前后)

select length('       海贼王    ');

select Trim('       海贼王    ');

select Trim('b' from 'bbbb海贼王bbb');

select Trim('儿' from '我是将要成为海贼王的男人儿');

执行结果:
2.6.1

8、lpad左填充、rpad右填充
1) lpad 用指定的字符实现左填充指定字符数,原本的字符字符数超过指定字符数,会截掉超过的字符

2) rpad 用指定的字符实现右填充指定字符数,原本的字符数超过指定字符数,会截掉超过的字符

3)用法示例:

select length('Hawk Chung');
select lpad('Hawk Chung',15,'*');

select length('一破苍穹');
select rpad('一破苍穹',10,'&')

4)执行结果分析:
2.7.1

9、replace替换:(母串,原子串,替换子串)

#正常替换
select replace('我是将要成为海贼王的男人儿','男人儿','人');

#应用于去除空格:类似Trim
select replace('       海贼王    ',' ','');

执行结果:
我是将要成为海贼王的人
海贼王

10、left左边几个字符、right右边几个字符

select left('我要成为海贼王的男人',4);

select right('我要成为海贼王的男人',2);

执行结果:
我要成为
男人

三、日期函数

1、 now() 返回当前系统日期+时间(美国标准):select now();
3.1.1

2、 curdate() 返回当前系统日期,不包含时间:select curdate();

3、 curtime() 返回当前系统时间,不包含日期:select curtime();

4、获取指定的部分,年、月、日、小时、分钟、秒

#返回 年月日 的关键字
SELECT YEAR('2022-05-20')  AS 年,MONTH('2022-05-20') AS 月,DAY('2022-05-20') AS 日;

#返回 时分秒 的关键字
select now(), hour(now()) as 时, minute(now()) as 分, second(now()) as 秒;

5、 str_to_date(字符串,日期格式) 将日期格式的字符转换成指定格式的日期

#规则的日期字符串
select str_to_date ('5-20-2022','%m-%d-%Y');

#不规则的日期字符串,需要将格式与字符顺序对应好,如第一个20表示日,因此这里是%d在前
select str_to_date ('20-5-2022','%d-%m-%Y');

3.5.1

6. data_format(日期, 日期格式) 将日期转换成指定格式的字符串

select Date_format('2022/5/20','%Y年%m月%d日');

select Date_format('2022-5-20','%m月%d日%Y年');

select Date_format('2022-5-20','%M %D  %Y');

执行结果:
3.6.1

7、date_add、date_sub在日期的基础上进行加减日期
1)date_add(date, INTERVAL 值 Type) 加日期,负数表示减

#加日期
select date_add('2022-5-17',INTERVAL 3 day);
select date_add('2022-1-20',INTERVAL 4 month);

#减日期
select date_add('2022-5-27',INTERVAL -7 day);
select date_add('2022-5-27',INTERVAL -1 week);

2)date_sub(date, INTERVAL 值 Type) 减日期,负数表示加

#减日期
select date_sub('2022-5-27',INTERVAL 7 day);
select date_sub('2022-5-27',INTERVAL 1 week);

#加日期
select date_sub('2022-5-17',INTERVAL -3 day);
select date_sub('2022-1-20',INTERVAL -4 month);

3.7.1

8、时间Type
3.10
9、datediff(date1,date2) 两个日期相差多少天

select datediff('2022-5-20','2021-5-20')

执行结果:date1-date2
365天

SQL数据分析7天速成:从基础查询到窗口函数与项目实战 结构化查询语言(SQL)是数据分析和数据处理的核心技能,核心价值在于通过过滤、分组、连接和聚合等操作从业务数据库中高效提取可用的分析数据集。掌握SQL的执行顺序与常用函数原理,能帮助分析师快速定位数据质量问题,提升取数效率。典型应用场景包括电商订单统计、用户复购率计算、商品TopN排名等。随着数据量增长,理解索引机制与执行计划,逐步掌握SQL优化方法,也是从基础迈向进阶的必修课。本文围绕数据分析场景,梳理了一条7天可落地的学习路径,涵盖环境搭建、基础查询、分组聚合、CASE WHEN、多表JOIN、窗口函数 阅读详情

相关推荐

SQL日期差计算实战:从数据清洗到性能优化,精准计算用户生命周期天数

日期差计算是数据处理与数据分析中的基础操作,其核心原理是通过将日期转换为连续数值(如时间戳或儒略日)进行差值运算,以量化时间间隔。这一技术在业务中具有重要价值,能够将静态时间点转化为动态、可度量的指标,为后续分析提供精准输入。在用户生命周期分析、会员分层、精准营销等应用场景中,准确计算天数差是构建用户标签和运营策略的关键。本文以**用户画像**和**数据清洗**为切入点,深入探讨如何高效处理海量用户出生日期数据,并利用SQL函数实现高性能的日期差计算,确保结果的准确性与查询效率。

ctk87443的博客 308

mysql截取字符串那种效率高_截取字符串效率比较

最终,StringTokenizer在截取字符串中效率最高,不论数据量大小,几乎持平。substring则要次之,数据量增加耗时也要随之增加。split则是表现最差劲的。究其原因,split的实现方式是采用正则表达式实现,所以其性能会比较低。至于正则表达式为何低,还未去验证。StringTokenizer的简单用法:1、构造函数。1. StringTokenizer(String str) :构造...

weixin_33563262的博客 1562

数据分析自学指南:Excel、SQL、Tableau、Python核心工具实战路径

大家好,我是专注于数据领域的技术博主。最近很多朋友在后台留言,询问如何系统地从零开始学习数据分析,特别是面对Excel、SQL、Tableau、Python这些核心工具时,感觉知识点零散,网上教程质量参差不齐,难以形成体系化的能力。结合我自身从入门到项目实战的经验,本文将为你梳理一份完整的数据分析自学路径与核心实战指南。无论你是想转行求职、提升业务分析能力,还是希望独立完成一份专业的数据分析报告,这篇文章都将为你提供从工具安装、核心语法到项目实战的闭环解决方案。 1. 数据分析学习路径与核心工具全景 在深入

weixin_30911451的博客 422

sql日期查询

转载自 https://www.cnblogs.com/zknublx/p/7675563.html 1、查询往前7天的数据: select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= 你要判断的时间字段名 2、查询往前30天的数据: select * from 数据表 where DATE_SUB(CURDATE(...

禾黍离离的博客 9217

数据分析自学路线:Excel、SQL、Python、Tableau核心技能栈详解

很多同学想入门数据分析,但面对Excel、SQL、Tableau、Python这些工具,常常感到无从下手,网上资料要么太散,要么太深,很难形成体系化的学习路径。本文旨在为你梳理一条清晰、实用、可执行的数据分析自学路线,涵盖从数据处理、分析到可视化的核心技能栈,并提供可直接上手的代码示例和项目思路。无论你是零基础转行,还是希望提升业务分析能力,都能从这套“组合拳”中找到适合自己的学习模块。 1. 数据分析核心技能栈全景解读 数据分析并非掌握单一工具即可,而是一个由数据处理、分析挖掘、结果呈现构成的完整工作流。

weixin_30235225的博客 316

数据分析入门到精通:Excel、Python、SQL、BI四大核心工具免费教程

这次我们来看一套完整的数据分析入门到精通教程,内容覆盖了Excel、Python、SQL和BI四大核心工具。这套教程最大的特点是“免费”和“全套”,对于想系统学习数据分析、又不想在初期投入过多成本的初学者来说,是一个可以直接上手跟练的资源包。 数据分析的核心是“用数据说话”,而工具是实现这一目标的手段。这套教程的价值在于,它没有停留在单一工具上,而是构建了一个从数据处理(Excel/SQL)、到编程分析(Python)、再到可视化呈现(BI)的完整技能栈。无论你是想转行、提升工作效率,还是想建立系统的数据分

weixin_33736832的博客 432

值得收藏:一份非常完整的 MySQL 规范

作者:听风https://www.cnblogs.com/huchong/p/10219318.html一、数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割...

架构师小秘圈 332

数据分析自学指南:Excel、SQL、Tableau、Python四大核心工具从入门到实战

很多同学想入门数据分析,但面对Excel、SQL、Tableau、Python这些工具,常常感到无从下手,网上资料零散不成体系。本文为你整合一套从零到一的数据分析自学路径,涵盖这四大核心工具的系统讲解、实战案例与求职应用,无论你是学生、转行者还是希望提升技能的职场人,都能获得一套可执行、可落地的学习方案。 1. 数据分析核心概念与学习路径 1.1 什么是数据分析? 数据分析是指通过适当的统计分析方法对收集来的大量数据进行分析,提取有用信息并形成结论,从而对数据进行详细研究和概括总结的过程。其核心价值在于将原

weixin_34268579的博客 425

6、WHERE:条件查询数据

在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 关键字来指定查询条件。 使用 WHERE 关键字的语法格式如下: WHERE 查询条件 查询条件可以是: 带比较运算符和逻辑运算符的查询条件 带 BETWEEN AND 关键字的查询条件 带 IS NULL 关键字的查询条件 带 IN 关键字的查询条件 带 LIKE 关键字的查询条件 单一条件的查询语句 单一条件指的是在 WHERE 关键字后只有一个查询条件。 例 1 在 tb_students_info 数据表中查询身高为

you can you up up up的博客 1421

Unity UI Toolkit避坑指南:从官方Samples到实际项目,这些‘坑’我帮你踩过了

本文分享了Unity UI Toolkit在实际项目中的避坑经验和优化技巧,包括动画系统的高效替代方案、3D世界UI的创新实现方式、USS样式继承的反直觉规则等。通过详细的代码示例和性能优化策略,帮助开发者避免常见陷阱,提升开发效率。

weixin_29535577的博客 342

【保姆级教程/代码】GNSS反演大气可降水量(Precipitable Water Vapor, PWV)

GPS精密单点定位(PPP)是一种采用精密卫星星历和卫星钟差进行非差单点定位的方法,在观测过程中采用双频载波相位观测法以确保高精度定位精度。本文利用PPP技术来求解天顶对流层延迟(zenith tropospheric delay,ZTD)。ZTD由湿延迟(ZWD)和干延迟(ZHD)组成,其中占比90%的ZHD与地面测站高程、大气压和测站纬度等参数有良好的相关性,可以通过Saastamoinen模型精确求出;

weixin_43910227的博客 2921

MySQL【过滤数据(where)】

​ 使用WHERE子句 在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。 WHERE子句在表名(FROM子句)之后给出 select prod_id,prod_price,prod_name from products where prod_price = 2.50 WHERE子句操作符 检查单个值 select prod_id,prod_price,prod_name from products where prod_name = 'fuses' ..........

随便写写 1475

点云欧式聚类快速了解

一种基于欧氏距离度量的聚类算法基于KD-Tree的近邻查询算法是加速欧式聚类算法的重要预处理方法KD-Tree是由二分搜索树演变而来的用于大规模高维度数据查找场景当中的索引结构,主要用于最近邻查找和近似最近邻查找。将整个空间划分为二叉树的形式,方便有效找到最近邻点云处理算法库PCL,是比较重要的,在后续会继续学习,然后发出更优质的文章。

xiaobaiwsc的博客 1721

数据分析|SQL面试题集锦

https://zhuanlan.zhihu.com/p/136619982 写在前面 SQL可谓是数据分析必备技能之一了,面试中也是高频出现,初学SQL可以阅读《SQL必知必会》 全书通俗易懂,看完之后可以到牛客网和LeetCode刷一些SQL题巩固巩固。 数据库SQL实战_牛客网​www.nowcoder.com 题库 - 力扣 (LeetCode)​leetcode-cn.com 不过面试中的SQL大多都是结合部门业务,这里将我自己经历过的和之前看到的一些面试题收集整理过来..

hellojoy的博客 2493

WindTerm 安装使用教程

WindTerm是一款Github上开源的 SSH 终端工具,它是完全可以比肩MobaXterm工具的。

m0_69576880的博客 4006

全球第一开源云ERP Odoo操作手册 模块安装和界面汉化指南

Odoo 的功能包含在不同的模块中, 刚创建的数据库除 Odoo 的核心模块外, 其它模块并没有被安装到系统中,你可以根据需要安装它们。本节将介绍安装模块和界面汉化的相关知识。

weixin_44793763的博客 2072

MySQL数据分析入门:从零掌握SQL查询与实战案例

很多同学想入门数据分析,但面对海量数据无从下手,第一步就卡在了数据库操作上。无论是处理业务报表、分析用户行为,还是做毕业设计,掌握数据库查询都是最核心的基础技能。MySQL作为最流行的开源关系型数据库,是数据分析师、后端开发乃至产品经理的必备工具。本教程将从零开始,带你系统掌握MySQL的核心操作与数据分析思维,全程干货,没有废话,确保你学完就能上手实战。 1. 数据分析与MySQL:为什么是黄金组合? 在开始敲代码之前,我们需要先理解数据分析的本质以及MySQL在其中扮演的角色。数据分析并非简单的“看数字

weixin_34198762的博客 552

第33次CCF-CSP认证考试 第一题 词频统计 满分题解

本人小白一枚,抱着学习的态度想到网上找一些csp的参考答案,但由于实力有限,大佬的代码大都看不太懂,于是萌生了想用一些简单,基础的语句完成csp前两题的想法并公开,以便与像我这样实力不强的同学交流学习,如有更好的建议,还请斧正,感谢!

qq_75242106的博客 1869

MySQL 数据库常用函数大全(字符串 + 日期 + 数学)

在 MySQL 数据库开发与日常使用中,字符串函数、日期函数、数学函数是高频使用的核心工具,能大幅简化数据处理、查询、格式化等操作。字符串函数主要用于处理文本数据,比如拼接、截取、替换、大小写转换、去空格等,是处理字符类型数据的必备技能。日期函数用于处理时间 / 日期数据,比如获取当前时间、格式化日期、计算日期间隔、提取年月日等。数学函数用于数值计算、处理,比如四舍五入、取整、求绝对值、随机数等。1.字符串函数:专注文本处理、拼接、替换、格式化;2.日期函数:专注时间获取、格式化、计算;

duluo133的博客 372

063、推挽变换器的磁偏问题与解决

本文针对推挽变换器中的磁偏问题展开分析。作者通过实际案例指出,磁偏主要由开关管导通压降差异和驱动信号不对称引起,会导致变压器饱和、MOS管炸毁等问题。文章提供了四种解决方案:采用电流模式控制、添加隔直电容、优化对称驱动设计以及引入磁芯气隙(作为最后手段)。调试时应重点观察原边电流波形对称性、变压器声音和直流分量。作者强调实践经验的重要性,建议预留隔直电容位置,并指出推挽拓扑在500W以上功率场合的局限性。这些基于实战的经验总结为电源工程师提供了有价值的参考。

Jack010169的博客 310

流体动力学仿真软件:Star-CCM+_(1).Star-CCM+基础及入门

Star-CCM+的用户界面(UI)分为多个部分,包括菜单栏、工具栏、工作区、视图窗口和控制台。菜单栏包含文件、编辑、视图、工具等常用菜单。例如,“File”菜单可以用于打开、保存和退出项目。工具栏提供常用的工具按钮,如新建项目、打开项目、保存项目等。也可以自定义工具栏,添加常用的功能按钮。工作区显示当前项目的结构和各个对象。可以通过拖拽方式组织和管理项目中的各个部分。视图窗口显示几何模型、网格、结果等。可以通过不同的视图模式查看和分析数据。控制台显示软件的运行日志和输出信息。

kkchenjj的博客 1195

SQL数据分析学习路线:从基础查询到项目实战的7天攻略

在数据分析和数据科学领域,SQL作为数据库交互的标准语言,是从业者必须掌握的核心技能。它不仅是数据查询的基础工具,更是理解数据存储、数据清洗和多表关联分析的关键桥梁。从SELECT基础查询到聚合函数、多表连接、窗口函数,SQL能够高效支撑用户行为分析、销售统计、用户分层等典型业务场景。面对碎片化的学习资料,如何通过正确的路径快速入门并应用于实际项目?结合SQL面试题中的高频考点,一个以真实业务数据为练习对象的7天学习方案,能够帮助初学者完成从语法认知到项目实战的跨越。掌握SQL后,无论是进一步优化查询性能,

weixin_33834628的博客 338

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

MySQL必知必会-9MySQL常用函数及数学计算

拼接字段 使用concat()函数来拼接多个列 SELECT Concat( vend_name, ...

cheshalin5207的博客 223

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python+SQL数据分析实战:京东电商项目带你从零入门

数据分析是当今数字化业务决策的核心能力,它并非单纯的代码编写,而是通过数据回答业务问题的完整流程。在这个过程中,Python与SQL扮演着不同却互补的角色:SQL负责从数据库中高效提取所需数据,Python则借助pandas、numpy等库完成后续的清洗、分析与可视化。对于零基础学习者而言,掌握这两项工具是开启数据分析大门的关键。通过一个完整的京东电商订单实战项目,不仅能够熟悉数据加载、缺失值处理、重复值删除等数据清洗操作,还能学会用SQL完成分组聚合、区间查询与表连接等高频查询,并最终利用可视化图表输出分

weixin_34302798的博客 406

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

sql按时间取去重最近_数据分析|SQL面试题集锦(11.25持续更新)

写在前面SQL可谓是数据分析必备技能之一了,面试中也是高频出现,初学SQL可以阅读《SQL必知必会》全书通俗易懂,看完之后可以到牛客网和LeetCode刷一些SQL题巩固巩固。数据库SQL实战_牛客网​www.nowcoder.com题库 - 力扣 (LeetCode)​leetcode-cn.com不过面试中的SQL大多都是结合部门业务,这里将我自己经历过的和之前看到的一些面试题收集整理过来,前...

weixin_39751391的博客 479

sql count为空时显示0_数据分析|SQL面试题集锦(05.21持续更新)

写在前面SQL可谓是数据分析必备技能之一了,面试中也是高频出现,初学SQL可以阅读《SQL必知必会》全书通俗易懂,看完之后可以到牛客网和LeetCode刷一些SQL题巩固巩固。数据库SQL实战_牛客网​www.nowcoder.com题库 - 力扣 (LeetCode)​leetcode-cn.com不过面试中的SQL大多都是结合部门业务,这里将我自己经历过的和之前看到的一些面试题收集整理过来,前...

weixin_39660931的博客 728
上一篇: SQL数据分析之基础语法的注意事项与妙用【MySQL补充】
下一篇: SQL数据分析之流程控制语句【if,case...when详解】
鸿蒙Next
鸿蒙Next 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄7年 2万+粉丝 300原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值