OldWang带你了解MySQL(六)

news2024/11/24 16:47:27

文章目录

    • 🔥SQL函数
    • 🔥单行函数
    • 🔥字符函数
    • 🔥数字函数
    • 🔥日期函数
    • 🔥转换函数
    • 🔥通用函数

🔥SQL函数

函数介绍
在这里插入图片描述

函数是 SQL 的一个非常强有力的特性,函数能够用于下面的目的:
⭐ 执行数据计算
⭐ 修改单个数据项
⭐ 操纵输出进行行分组
⭐ 格式化显示的日期和数字
⭐ 转换列数据类型

SQL 函数有输入参数,并且总有一个返回值。

函数分类
在这里插入图片描述

1.单行函数
单行函数仅对单个行进行运算,并且每行返回一个结果。
常见的函数类型:
⭐ 字符
⭐ 数字
⭐ 日期
⭐ 转换
2. 多行函数
多行函数能够操纵成组的行,每个行组给出一个结果,这些函数也被称为组函数。

🔥单行函数

在这里插入图片描述

单行函数分类
在这里插入图片描述

🔥字符函数

在这里插入图片描述

大小写处理函数

函数描述实例
LOWER(s)LCASE(s)将字符串s转换为小写将字符串 OLDWANG转换为小写SELECT:SELECT LOWER(“OLDWANG”); --oldwang
UPPER(s)UCASE(s)将字符串s转换为大写将字符串oldwang转换为大写:SELECT UPPER(“oldwang”); --OLDWANG

示例:

显示雇员 Davies 的雇员号、姓名和部门号,将姓名转换为大写。

select employee_id,UPPER(last_name),department_id 
from employees 
where last_name = 'davies';

字符处理函数

函数描述
LENGTH(s)返回字符串 s 的长度
CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串
LPAD(s1,len,s2)在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len
LTRIM(s)去掉字符串 s 开始处的空格
REPLACE(s,s1,s2)将字符串 s2 替代字符串 s 中的字符串 s1
REVERSE(s)将字符串s的顺序反过来
RPAD(s1,len,s2)在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len
RTRIM(s)去掉字符串 s 结尾处的空格
SUBSTR(s, start,length)从字符串 s 的 start 位置截取长度为 length 的子字符串
SUBSTRING(s,start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串
TRIM(s)去掉字符串 s 开始和结尾处的空格

🔥数字函数

函数名描述
ABS(x)返回 x 的绝对值
ACOS(x)求 x 的反余弦值(参数是弧度)
ASIN(x)求反正弦值(参数是弧度)
ATAN(x)求反正切值(参数是弧度)
ATAN2(n, m)求反正切值(参数是弧度)
AVG(expression)返回一个表达式的平均值,expression是一个字段
CEIL(x)返回大于或等于 x 的最小整数
CEILING(x)返回大于或等于 x的最小整数
COS(x)求余弦值(参数是弧度)
COT(x)求余切值(参数是弧度)
COUNT(expression)返回查询的记录总数,expression 参数是一个字段或者 * 号
DEGREES(x)将弧度转换为角度
n DIV m整除,n 为被除数,m 为除数
EXP(x)返回 e 的 x 次方
FLOOR(x)返回小于或等于 x 的最大整数
GREATEST(expr1,expr2, expr3, …)返回列表中的最大值
LEAST(expr1,expr2, expr3, …)返回列表中的最小值
LN返回数字的自然对数,以 e 为底。
LOG(x) 或LOG(base, x)返回自然对数(以 e为底的对数),如果带有 base 参数,则base 为指定带底数。
LOG10(x)返回以 10 为底的对数
LOG2(x)返回以 2 为底的对数
MAX(expression)返回字段 expression 中的最大值
MIN(expression)返回字段expression 中的最小值
MOD(x,y)返回 x 除以 y 以后的余数
PI()返回圆周率(3.141593)
POW(x,y)返回 x 的 y 次方
POWER(x,y)返回 x 的 y 次方
RADIANS(x)将角度转换为弧度
RAND()返回 0 到 1 的随机数
ROUND(x)返回离 x 最近的整数
SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1
SIN(x)求正弦值(参数是弧度)
SQRT(x)返回x的平方根
SUM(expression)返回指定字段的总和
TAN(x)求正切值(参数是弧度)
TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)

ROUND(column|expression, n) 函数

ROUND 函数四舍五入列、表达式或者 n 位小数的值。如果第二个参数是 0 或者缺少,值被四舍五入为整数。如果第二个参数是 2值被四舍五入为两位小数。如果第二个参数是–2,值被四舍五入到小数点左
边两位。

SELECT ROUND(45.923,2),ROUND(45.923,0),ROUND(45.923,-1);

TRUNCATE(column|expression,n) 函数

TRUNCATE函数的作用类似于 ROUND 函数。如果第二个参数是 0 或者缺少,值被截断为整数。如果第二个参数是 2,值被截断为两位小数。如果第二个参数是–2,值被截断到小数点左边两位。与 ROUND最大的区别是不会进行四舍五入。

SELECT TRUNCATE(45.923,2);

使用MOD(m,n) 函数

MOD 函数找出m 除以n的余数。

示例:

所有job_id是SA_REP的雇员的名字,薪水以及薪水被5000除后的余数。

SELECT last_name, salary, MOD(salary, 5000)
FROM employees
WHERE job_id = 'SA_REP';

🔥日期函数

在MySQL中允许直接使用字符串表示日期,但是要求字符串的日期格式必须为:‘YYYY-MM-DD HH:MI:SS’ 或者‘YYYY/MM/DD HH:MI:SS’;

函数名描述
CURDATE()返回当前日期
CURTIME()返回当前时间
CURRENT_DATE()返回当前日期
CURRENT_TIME()返回当前时间
DATE()从日期或日期时间表达式中提取日期值
DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数
DAY(d)返回日期值 d 的日期部分
DAYNAME(d)返回日期 d 是星期几,如Monday,Tuesday
DAYOFMONTH(d)计算日期 d 是本月的第几天
DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推
DAYOFYEAR(d)计算日期 d 是本年的第几天
HOUR(t)返回 t 中的小时值
LAST_DAY(d)返回给给定日期的那一月份的最后一天
MONTHNAME(d)返回日期当中的月份名称,如November
MONTH(d)返回日期d中的月份值,1 到12月
NOW()返回当前日期和时间
SECOND(t)返回 t 中的秒钟值
SYSDATE()返回当前日期和时间
TIMEDIFF(time1,time2)计算时间差值
TO_DAYS(d)计算日期 d 距离 0000 年 1 月 1 日的天数
WEEK(d)计算日期 d 是本年的第几个星期,范围是 0 到 53
WEEKDAY(d)日期 d 是星期几,0 表示星期一,1 表示星期二
WEEKOFYEAR(d)计算日期 d 是本年的第几个星期,范围是 0 到 53
YEAR(d)返回年份

🔥转换函数

在这里插入图片描述

隐式数据类型转换

隐式数据类型转换是指MySQL服务器能够自动地进行类型转换。如:可以将标准格式的字串日期自动转换为日期类型。

MySQL字符串日期格式为:‘YYYY-MM-DD HH:MI:SS’ 或 ‘YYYY/MM/DD HH:MI:SS’;

显示数据类型转换

显示数据类型转换是指需要依赖转换函数来完成相关类型的转换。

如:

⭐ DATE_FORMAT(date,format) 将日期转换成字符串;

⭐ STR_TO_DATE(str,format) 将字符串转换成日期;

🔥通用函数

函数名描述
IF(expr,v1,v2)如果表达式 expr 成立,返回结果v1;否则,返回结果 v2。
IFNULL(v1,v2)如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。
ISNULL(expression)判断表达式是否为 NULL
NULLIF(expr1, expr2)比较两个参数是否相同,如果参数expr1 与 expr2 相等 返回 NULL,否则返回 expr1
COALESCE(expr1, expr2,…, expr_n)返回参数中的第一个非空表达式(从左向右)
CASE expression WHEN condition1 THEN result1 WHEN condition2 THEN result2 … WHEN conditionN THEN resultN ELSE result ENDCASE 表示函数开始,END 表示函数结束。如果 condition1 成立,则返回result1, 如果 condition2 成立,则返回 result2,当全部不成立则返回result,而当有一个成立之后,后面的就不执行了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/417902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【 SpringBoot ⽇志⽂件 】

文章目录一、⽇志的作用二、认识⽇志三、⾃定义⽇志打印3.1 在程序中得到⽇志对象3.2 使⽤⽇志对象打印⽇志3.3 ⽇志格式说明四、⽇志级别4.1 ⽇志级别的作用4.2 ⽇志级别的分类与使⽤4.2.1 ⽇志级别的分类4.2.2 ⽇志使⽤4.2.2.1 配置全局日志级别4.2.2.2 配置局部文件夹的日志…

【通过Cpython3.9源码看看python的内存回收机制】

一:建立对象引用计数 1. 相关代码 void _Py_NewReference(PyObject *op) {if (_Py_tracemalloc_config.tracing) {_PyTraceMalloc_NewReference(op);} #ifdef Py_REF_DEBUG_Py_RefTotal; #endifPy_SET_REFCNT(op, 1); #ifdef Py_TRACE_REFS_Py_AddToAllObjects(op…

【算法】AB3DMOT之Sutherland Hodgman多边形裁剪

在AB3MOT模型中有一个步骤为计算IOU时,需要先计算两个立体在地面的投影2D形状,然后计算两个投影的重叠部分,实际上为多边形的裁剪算法。 AB3MOT classmethod def box2corners3d_camcoord(cls, bbox):Takes an objects 3D box with the repr…

懒人式迁移服务器深度学习环境(完全不需要重新下载)

换服务器了?想迁移原来服务器上的深度学习环境,但又觉得麻烦懒得重新安装一遍anaconda、pytorch?有没有办法能不费吹灰之力直接迁移?接下来跟着我一起,懒汉式迁移。   本方法适用于在同一内网下的两台服务器之间互相…

【深度强化学习】(8) iPPO 模型解析,附Pytorch完整代码

大家好,今天和各位分享一下多智能体深度强化学习算法 ippo,并基于 gym 环境完成一个小案例。完整代码可以从我的 GitHub 中获得:https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Model 1. 算法原理 多智能体的情形相比于单智…

SpringCloud GateWay与Nacos使用

网关就相当于一个内网与外网的出入口,起着 安全、验证的功能,如果没有网关,那么如果需要实现验证的功能,除非 SpringCloud GateWay 作为微服务的网关,起着如下作用 ① 作为所有API接口服务请求的接入点 ② 作为所有后端业务服务…

SpringBoot 整合 RabbitMQ (四十一)

二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。 上一章简单介绍了SpringBoot 实现 Web 版本控制 (四十),如果没有看过,请观看上一章 关于消息中间件 RabbitMQ, 可以看老蝴蝶之前的文章: https://blog.csdn.net/yjltx1234csdn/categor…

还不懂如何与AI高效交流?保姆级且全面的chatGPT提示词工程教程来啦!(一)基础篇

还不懂如何与chatGPT高效交流?保姆级且全面的chatGPT提示词工程教程来啦!(一)基础篇 文章目录还不懂如何与chatGPT高效交流?保姆级且全面的chatGPT提示词工程教程来啦!(一)基础篇一&…

CDH6.3.2大数据集群生产环境安装(七)之PHOENIX组件安装

添加phoenix组件 27.1. 准备安装资源包 27.2. 拷贝资源包到相应位置 拷贝PHOENIX-1.0.jar到/opt/cloudera/csd/ 拷贝PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel.sha、PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel到/opt/cloudera/parcel-repo 27.3. 进入cm页面进行分发、…

【AIGC】9、BLIP-2 | 使用 Q-Former 连接冻结的图像和语言模型 实现高效图文预训练

文章目录一、背景二、方法2.1 模型结构2.2 从 frozen image encoder 中自主学习 Vision-Language Representation2.3 使用 Frozen LLM 来自主学习 Vision-to-Language 生成2.4 Model pre-training三、效果四、局限性论文:BLIP-2: Bootstrapping Language-Image Pre-…

unity 序列化那些事,支持Dictionary序列化

目录 一、普通类型和UnityEngine空间类型序列化 二、数组、list的序列化 三、自定义类的序列化支持 四、自定义asset 五、在inspector面板中支持Dictionary序列化 1、在MonoBehaviour中实现Dictionary序列化 2、自定义property,让其在inpsector能够显示 3、Mo…

【从零开始学Skynet】实战篇《球球大作战》(七):gateway代码设计(下)

1、确认登录接口 在完成了登录流程后,login会通知gateway(第⑧阶段),让它把客户端连接和新agent(第⑨阶段)关联起来。 sure_agent代码如下所示: s.resp.sure_agent function(source, fd, play…

[Gitops--1]GitOps环境准备

GitOps环境准备 1. 主机规划 序号主机名主机ip主机功能软件1dev192.168.31.1开发者 项目代码 apidemogit,golang,goland2gitlab192.168.31.14代码仓库,CI操作git-lab,git,golang,docker,gitlab-runner3harbor192.168.31.104管理和存储镜像docker,docker-compose,harbor4k8s-m…

基础排序算法【计数排序】非比较排序

基础排序算法【计数排序】非比较排序⏰【计数排序】🕐计数🕦排序🕓测试⏰总结:⏰【计数排序】 计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用 > 基本思路: 1.统计数据出现的次数 2.根据统计的结…

并行分布式计算 并行算法与并行计算模型

文章目录并行分布式计算 并行算法与并行计算模型基础知识定义与描述复杂性度量同步和通讯并行计算模型PRAM 模型异步 PRAM 模型 (APRAM)BSP 模型LogP 模型层次存储模型分层并行计算模型并行分布式计算 并行算法与并行计算模型 基础知识 定义与描述 并…

15个最适合初创公司创始人使用的生产力工具

创业是一段激动人心且收获颇丰的旅程,同时也伴随着一些挑战。创始人往往要面对长时间的工作、紧迫的期限和大量的压力时刻。因此,初创公司创始人必须最大限度地利用他们的时间并利用他们可用的生产力工具——不仅是为了发展他们的业务,而且是…

Cron表达式简单介绍 + Springboot定时任务的应用

前言 表达式是一个字符串,主要分成6或7个域,但至少需要6个域组成,且每个域之间以空格符隔开。 以7个域组成的,从右往左是【年 星期 月份 日期 小时 分钟 秒钟】 秒 分 时 日 月 星期 年 以6个域组成的,从右往左是【星…

【精华】表格识别技术-MI

表格识别是指将图片中的表格结构和文字信息识别成计算机可以理解的数据格式,在办公、商务、教育等场景中有着广泛的实用价值,也一直是文档分析研究中的热点问题。围绕这个问题,我们研发了一套表格识别算法,该算法高效准确地提取图…

RabbitMq 的消息可靠性问题(二)---MQ的消息丢失和consumer消费问题

前言 RabbitMq 消息可靠性问题(一) — publisher发送时丢失 前面我们从publisher的方向出发解决了发送时丢失的问题,那么我们在发送消息到exchange, 再由exchange转存到queue的过程中。如果MQ宕机了,那么我们的消息是如何确保可靠性的呢?当消…

SQL的函数

文章目录一、SQL MIN() Function二、SQL SUM() 函数三、SQL GROUP BY 语句四、SQL HAVING 子句五、SQL EXISTS 运算符六、SQL UCASE() 函数总结一、SQL MIN() Function MIN() 函数返回指定列的最小值。 SQL MIN() 语法 SELECT MIN(column_name) FROM table_name;演示数据库 …