当前位置:网站首页>MySQL函数(经典收藏)
MySQL函数(经典收藏)
2022-07-29 23:26:00 【m0_67391270】
MySQL函数(经典收藏)
MySQL函数
MySQL数据库提供了很多函数包括:
- 数学函数;
- 字符串函数;
- 日期和时间函数;
- 条件判断函数;
- 系统信息函数;
- 加密函数;
- 格式化函数;
一、数学函数
数学函数主要用于处理数字,包括整型、浮点数等。

二、字符串函数
字符串函数是MySQL中最常用的一类函数,字符串函数主要用于处理表中的字符串。

三、日期时间函数
MySQL的日期和时间函数主要用于处理日期时间。

四、条件判断函数
1、IF(expr,v1,v2)函数
如果表达式expr成立,返回结果v1;否则,返回结果v2。
SELECT IF(1 > 0,'正确','错误')
->正确
2、IFNULL(v1,v2)函数
如果v1的值不为NULL,则返回v1,否则返回v2。
SELECT IFNULL(null,'Hello Word')
->Hello Word
3、CASE
语法1:
CASE
WHEN e1
THEN v1
WHEN e2
THEN e2
...
ELSE vn
END
CASE表示函数开始,END表示函数结束。如果e1成立,则返回v1,如果e2成立,则返回v2,当全部不成立则返回vn,而当有一个成立之后,后面的就不执行了。
SELECT CASE
WHEN 1 > 0
THEN '1 > 0'
WHEN 2 > 0
THEN '2 > 0'
ELSE '3 > 0'
END
->1 > 0
语法2:
CASE expr
WHEN e1 THEN v1
WHEN e1 THEN v1
...
ELSE vn
END
如果表达式expr的值等于e1,返回v1;如果等于e2,则返回e2。否则返回vn。
SELECT CASE 1
WHEN 1 THEN '我是1'
WHEN 2 THEN '我是2'
ELSE '你是谁'
五、系统信息函数
系统信息函数用来查询MySQL数据库的系统信息。

六、加密函数
加密函数是MySQL用来对数据进行加密的函数。
1、PASSWORD(str)
该函数可以对字符串str进行加密,一般情况下,PASSWORD(str)用于给用户的密码加密。
SELECT PASSWORD('123')
->*23AE809DDACAF96AF0FD78ED04B6A265E05AA257
2、MD5
MD5(str)函数可以对字符串str进行散列,可以用于一些普通的不需要解密的数据加密。
SELECT md5('123')
->202cb962ac59075b964b07152d234b70
3、ENCODE(str,pswd_str)与DECODE(crypt_str,pswd_str)
ENCODE函数可以使用加密密码pswd_str来加密字符串str,加密结果是二进制数,需要使用BLOB类型的字段保存。该函数与DECODE是一对,需要同样的密码才能够解密。
SELECT ENCODE('123','xxoo')
->;vx
SELECT DECODE(';vx','xxoo')
->123
七、其他函数
1、格式化函数FORMAT(x,n)
FORMAT(x,n)函数可以将数字x进行格式化,将x保留到小数点后n位。
SELECT FORMAT(3.1415926,3)
->3.142
2、不同进制的数字进行转换
- ASCII(s) 返回字符串s的第一个字符的ASCII码;
- BIN(x) 返回x的二进制编码;
- HEX(x) 返回x的十六进制编码;
- OCT(x) 返回x的八进制编码;
- CONV(x,f1,f2) 返回f1进制数变成f2进制数;
3、IP地址与数字相互转换的函数
INET_ATON(IP)函数可以将IP地址转换为数字表示;IP值需要加上引号;
INET_NTOA(n)函数可以将数字n转换成IP形式。
SELECT INET_ATON(‘192.168.0.1’)
->3232235521
SELECT INET_NTOA(3232235521)
->192.168.0.1
4、加锁函数和解锁函数
GET_LOCK(name,time)函数定义一个名称为nam、持续时间长度为time秒的锁。如果锁定成功,则返回1;如果尝试超时,则返回0;如果遇到错误,返回NULL。
RELEASE_LOCK(name)函数解除名称为name的锁。如果解锁成功,则返回1;如果尝试超时,返回0了如果解锁失败,返回NULL;
IS_FREE_LOCK(name)函数判断是否已使用名为name的锁定。如果使用,返回0,否则,返回1;
SELECT GET_LOCK(‘MySQL’,10)
->1 (持续10秒)
SELECT IS_FREE_LOCK(‘MySQL’)
->1
SELECT RELEASE_LOCK(‘MySQL’)
->1
5、重复执行指定操作的函数
BENCHMARK(count.expr)函数将表达式expr重复执行count此,然后返回执行时间。该函数可以用来判断MySQL处理表达式的速度。
SELECT BENCHMARK(10000,NOW())
->0 返回系统时间1万
6、改变字符集的函数
CONVERT(s USING cs)函数将字符串s的字符集变成cs。
SELECT CHARSET('ABC')
->utf-8
SELECT CHARSET(CONVERT('ABC' USING gbk))
->gbk
7、转换数据类型
- CAST(x AS type)
- CONVERT(x,type)
这两个函数只对BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、UNSIGNED INTEGER。
SELECT CAST('123' AS UNSIGNED INTEGER) + 1
->124
SELECT '123' + 1
->124 其实MySQL能默认转换
SELECT CAST(NOW() AS DATE)
->2014-12-18

最后给大家分享Spring系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、spring boot面试题、spring教程笔记、spring boot教程笔记、最新阿里巴巴开发手册(63页PDF总结)、2022年Java面试手册。一共整理了1184页PDF文档。私信博主(777)领取,祝大家更上一层楼!!!

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 【leetcode】75. 颜色分类(中等)(双指针、原地修改)
- 437. The total path III low low
- 仿牛客论坛项目部署总结
- 【小程序项目开发-- 京东商城】uni-app之自定义搜索组件(下) -- 搜索历史
- NetWorker Knowledge Corner|Easy to get an offer [Networker Interview Questions] What is the difference between a Layer 3 switch and a router?
- Wincc报表教程(SQL数据库的建立,wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置和打印功能)
- Why does LabVIEW freeze when saving a VI
- 浅析即时通讯移动端开发DNS域名劫持等杂症
- The latest Gansu construction welder (construction special operation) simulation question bank and answer analysis in 2022
- [leetcode] 80. Delete duplicates in sorted array II (medium) (double pointer, in-place modification)
猜你喜欢

新标杆!美创科技助力广西桂林某三甲医院实现勒索病毒主动防御

Vulkan与OpenGL对比——Vulkan的全新渲染架构

标签分发协议(LDP)

运动步数抽奖小程序开发

WLAN笔记

地狱挖掘者系列#1

This article penetrates the architecture design and cluster construction of the distributed storage system Ceph (hands-on)

The Sandbox Partners with Gravity to Bring RO Ragnarok to the Metaverse

Guidelines for the Release of New WeChat Mini Programs

Huawei 14 Days - (3) Kernel Development
随机推荐
The Sandbox Partners with Gravity to Bring RO Ragnarok to the Metaverse
JetsonNano learning (5) JetsonNano installs PyTorch and Torchvision
devops学习(四) Jenkins CI 持续集成
Vulkan与OpenGL对比——Vulkan的全新渲染架构
Analysis of miscellaneous diseases such as DNS domain name hijacking in instant messaging mobile terminal development
High Numbers|Calculation of Triple Integral 3|Uncle High Numbers|Handwritten Notes
Single chip ds1302 clock program (51 single chip liquid crystal display program)
cv.copyMakeBorder(imwrite opencv)
Embedded system driver primary [1] - kernel module _ compilation method
【leetcode】The sword refers to Offer II 002. Binary addition
Foxmail是什么邮箱?
很遗憾,没有一篇文章能讲清楚分布式事务
Mysql8.0新特性之详细版本
JetsonNano学习(五)JetsonNano 安装 PyTorch 及 Torchvision
DNA脱氧核糖核酸修饰石墨粉末|DNA修饰还原石墨烯功能材料|保存温度
idea设置自动去除未引用(不再引用)的引用
MQTT over QUIC: The Next-Generation IoT Standard Protocol Brings New Impetus to Messaging Scenarios
DNA修饰的上转换纳米材料|聚胞苷酸Poly-C DNA修饰的氧化石墨烯|解析说明
重庆OI 2005 新年好
【leetcode】80. 删除有序数组中的重复项 II(中等)(双指针、原地修改)