07_MySQL的单行函数(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 07_MySQL的单行函数(一)

1. 函数的理解


1.1 什么是函数


函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率 ,又提高了可维护性 。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地提高用户对数据库的管理效率 。


从函数定义的角度出发,我们可以将函数分成 内置函数和 自定义函数 。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的


1.2 不同DBMS函数的差异


我们在使用 SQL 语言的时候,不是直接和这门语言打交道,而是通过它使用不同的数据库软件,即DBMS。DBMS之间的差异性很大,远大于同一个语言不同版本之间的差异。实际上,只有很少的函数是被 DBMS 同时支持的。比如,大多数 DBMS 使用(||)或者(+)来做拼接符,而在 MySQL 中的字符串拼接函数为concat()。大部分 DBMS 会有自己特定的函数,这就意味着采用 SQL 函数的代码可移植性是很差的,因此在使用函数的时候需要特别注意。


1.3 MySQL的内置函数及分类


MySQL提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好地提供数据的分析与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率。MySQL提供的内置函数从实现的功能角度可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL信息函数、聚合函数等。这里,我将这些丰富的内置函数再分为两类: 单行函数 、 聚合函数(或分组函数) 。


单行函数


操作数据对象


接受参数返回一个结果


只对一行进行变换


每行返回一个结果


可以嵌套


参数可以是一列或一个值


2. 数值函数


2.1 基本函数


5312662a533d500c7a5d277f1bb991c7_ba2a92ef6d504dbfa6a7d7bdbddfb1ae.png


代码测试:



SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),
FLOOR(32.32),FLOOR(-43.23),MOD(12,5)
FROM DUAL;


cb4dd65f02233ff8a3c0d9cf376fc7e1_9688edd3cca84ab9acaf97e39eb3ddeb.png


#RAND(X) 若x相同,则会生成相同的随机数
SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1)
FROM DUAL;


32eddbe44aea6fc204b12ba4399fb12e_6cea6f38ff53435db53d2e33b96de92e.png


# ROUND函数与TRUNCATE函数的测试
SELECT
ROUND(12.33),ROUND(12.343,2),ROUND(12.324,-1),TRUNCATE(12.66,1),TRUNCATE(12.66,-1)
FROM DUAL;


9506cd09f3d948d7a6fe9e36606aadbb_f797e7dce9dd4232b6e3ff70526d5c74.png


2.2 角度与弧度互换函数


762f70c75f034c8d2c0349313f473541_350cc2ceb1424134b51b25442a876017.png


SELECT 
RADIANS(30),RADIANS(45),RADIANS(60),RADIANS(90),DEGREES(2*PI()),DEGREES(RADIANS(60))
FROM DUAL;


0b7ff92c52f0e5d08410090033e50b47_78d68e3d436a4516b19c9d03e6da4ed8.png


2.3 三角函数


17e6f98070781d4061ae9ab00daada88_ca8085ec01ad4a338df00a2e276b78e8.png


#三角函数
SELECT SIN(RADIANS(30)),DEGREES(ASIN(1))
FROM DUAL;


e4d97f96c34a60dadae91675de479104_526da677bec04637bc71c09759bf1fa5.png


2.4 指数与对数


63d105e30cbca65fec2581c0681d7c5e_ab8ad75695c446d79b9ea15676c62917.png


#测试代码
SELECT POW(2,5),POWER(2,4),EXP(2),LN(10),LOG10(10),LOG2(4)
FROM DUAL;


e087c6ebebf933c7cfed2db51ff366fd_75139d5d196b4060b02db766e1a049d7.png


2.5 进制间的转换


#进制之间的转化
SELECT BIN(10),HEX(10),OCT(10),CONV(10,2,8)
FROM DUAL;


70499820f4ff66d6ab1fd0f75697f5e3_95b162bc74d244baafea68cb8ca0f5af.png


3. 字符串函数


3ac2864cc93bc9a76430d9caed83147c_d60af362960a4ef2b02f4bd7cb162aa5.png


5031856cec310aaf43148fb5a0bb8d96_eab3f604a40243b6875f2120b32fef48.png


注意:MySQL中,字符串的位置是从1开始的。


17bd740ccdc0102459148320a054f156_cdce409db1e44d53886c46a88bb3f686.png


#字符串函数
SELECT FIELD('mm','hello','msm','amma'),FIND_IN_SET('mm','hello,mm,amma')
FROM DUAL;
SELECT INSERT('helloworld',2,3,'aaaaa'),REPLACE('hello','ll','mmm')
FROM DUAL;


17c365d7feb9b3e7f864b40ed31c08d0_9bda66faa19c42fd84b01c8b4b9bf818.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
【MySQL进阶之路 | 基础篇】MySQL函数之单行函数
【MySQL进阶之路 | 基础篇】MySQL函数之单行函数
|
关系型数据库 MySQL
[MySQL]单行函数(二)
[MySQL]单行函数(二)
|
SQL 运维 安全
MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用(二)
MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用
102 0
|
6月前
|
SQL 关系型数据库 MySQL
|
Oracle 关系型数据库 MySQL
对比mysql学习oracle函数(四):oracle单行函数—转换函数
对比mysql学习oracle函数(四):oracle单行函数—转换函数
对比mysql学习oracle函数(四):oracle单行函数—转换函数
|
SQL 运维 安全
[MySQL]单行函数(五)
[MySQL]单行函数(五)
|
关系型数据库 MySQL
[MySQL]单行函数(四)
[MySQL]单行函数(四)
|
Unix 关系型数据库 MySQL
[MySQL]单行函数(三)
[MySQL]单行函数(三)
|
SQL 关系型数据库 MySQL
|
SQL 关系型数据库 MySQL
MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用(一)
MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用
163 0

热门文章

最新文章