当前位置:网站首页>MySQL函数(经典收藏)
MySQL函数(经典收藏)
2022-08-02 02:47:00 【geejkse_seff】
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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- BioVendor Human Club Cellular Protein (CC16) Elisa Kit Research Fields
- The state status is displayed incorrectly after the openGauss switch
- What to study after the PMP exam?The soft exam ahead is waiting for you~
- [Unity entry plan] 2D Game Kit: A preliminary understanding of the composition of 2D games
- 字符串常用方法
- 使用self和_(下划线)的区别
- 网络层解析——IP协议、地址管理、路由选择
- Chapter 10_Index Optimization and Query Optimization
- 灰度传感器、、、diy原理。。图
- OC中成员变量,实例变量和属性之间的区别和联系
猜你喜欢
随机推荐
线程的不同状态
【LeetCode】102. Level order traversal of binary tree
2022 NPDP take an examination of how the results?How to query?
Chopper webshell feature analysis
网络层解析——IP协议、地址管理、路由选择
架构:微服务网关(SIA-Gateway)简介
【LeetCode】83.删除排序链表中的重复元素
Nanoprobes多组氨酸 (His-) 标签标记:重组蛋白检测方案
【每日一道LeetCode】——1. 两数之和
29. 删除链表中重复的节点
VPS8505 微功率隔离电源隔离芯片 2.3-6V IN /24V/1A 功率管
Nanoprobes丨1-巯基-(三甘醇)甲醚功能化金纳米颗粒
mockjs生成假数据的基本使用
考完PMP学什么?前方软考等着你~
使用docker安装mysql
aws s3 upload file
Nanoprobes免疫测定丨FluoroNanogold试剂免疫染色方案
CASE2023
OC中成员变量,实例变量和属性之间的区别和联系
架构:应用架构的演进以及微服务架构的落地实践