当前位置:网站首页>MySQL Functions (Classic Collection)
MySQL Functions (Classic Collection)
2022-07-30 19:36:00 【prosperous】
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地址转换为数字表示;IPThe value needs to be enclosed in quotation marks;
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 其实MySQLCan be converted by default
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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担.添加下方名片,即可获取全套学习资料哦
边栏推荐
- 055 c# print
- 尊重客观事实
- Vulkan开启特征(feature)的正确姿势
- 【科普】无线电波怎样传送信息?
- coming!Dongfang Selection brings goods to the live broadcast of Longjiang agricultural products
- 【flink】报错整理 Could not instantiate the executor. Make sure a planner module is on the classpath
- The advanced version of the Niu Ke brushing series (team competition, sorting subsequences, inverting strings, deleting common characters, repairing pastures)
- NXP IMX8QXP replacement DDR model operation process
- MySQL六脉神剑,SQL通关大总结
- ImportError: attempted relative import with no known parent package
猜你喜欢
MySQL函数(经典收藏)
生物医学论文有何价值 论文中译英怎样翻译效果好
vxe-table实现复选框鼠标拖动选中
Swiper rotates pictures and plays background music
技术很牛逼,还需要“向上管理”吗?
MindSpore:【模型训练】【mindinsight】timeline的时间和实际用时相差很远
OneFlow source code analysis: Op, Kernel and interpreter
Zabbix 5.0 Monitoring Tutorial (1)
MySQL database - DQL data query language
Encapsulates a console file selector based on inquirer
随机推荐
JsonUtil基于字符串操作josn
Common linked list problems and their Go implementation
Start background services across processes
Entering the applet for the first time
开心的聚餐
MindSpore:自定义dataset的tensor问题
SimpleOSS third-party library libcurl and engine libcurl error solution
nlohmann json 使用指南【visual studio 2022】
LeetCode 0952.按公因数计算最大组件大小:建图 / 并查集
【MindSpore】用coco2017训练Model_zoo上的 yolov4,迭代了两千多batch_size之后报错,大佬们帮忙看看。
055 c# print
阿里面试官:给我描述一下缓存击穿的现象,并说说你的解决思路?
已删除
coming!Dongfang Selection brings goods to the live broadcast of Longjiang agricultural products
高并发秒杀项目总结
跨进程启动后台服务
Win11如何更改默认下载路径?Win11更改默认下载路径的方法
[TypeScript]编译配置
MySQL分库分表
牛客刷题系列之进阶版(搜索旋转排序数组,链表内指定区间反转)