当前位置:网站首页>mysql还有哪些自带的函数呢?别到处找了,看这个就够了。
mysql还有哪些自带的函数呢?别到处找了,看这个就够了。
2022-07-28 10:49:00 【51CTO】

格式化函数FPRMAT(x,n)
format(x,n)将数字x进行格式化,并以四舍五入的方式保留小数点后n位,结果以字符串的形式返回。
如果n为0,则返回结果函数不含小数部分。
不同进制的数字之间进行相互转换
conv(n, from_base, to_base)这个函数可以进行不同进制数之间的相互转换。比如将16进制的数字转换成2进制,亦或者将2进制的数字转换成10进制都可以。
返回值为数值n的字符串表示,由from_base进制转化为to_base进制。如果任意一个参数为null的话,那么返回值就是null。
IP地址和数字相互转换的函数
inet_auto(expr)给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数。地址可以是4或者8bit地址。
反之,我们也可以使用inet_ntoa函数将数值网络地址转换为字符串网络点地址,往下看:
所以,从上面来看,inet_ntoa和inet_aton互为反函数。
加锁函数和解锁函数
get_lock(str, timeout)设法使用字符串str给定的名字得到一个锁,超时时间为timeout秒。如果成功得到了锁的话,则返回为1,如果操作超时的话,则返回为0;一旦发生错误,则返回null。
release_lock(str)解开被get_lock()获取的、用字符串str锁命名的锁。如果锁被解开了,则返回为1,如果该线程尚未创建锁,则返回0(此时锁没有被解开);如果命名的锁不存在,则返回null。如果这个锁从未被get_lock()的调用获取,或锁已经被提前解开,则该锁不存在。
is_free_lock(str)检查名字为str的锁是否可以使用,如果这个锁可以使用,则返回1(没有人使用这个锁);如果这个锁正在被使用,则返回0;出现错误的话,则返回null(像不正确的参数)。
if_used_lock(str)检查名字为str的锁是否正在被使用,如果这个封了锁,则返回使用该锁的客户端的连接标识符,否则的话,就返回null。
get_lock('yunweijia', 15):返回结果为1,说明成功得到了一个名称为‘yunweijia’的锁,持续时间为15秒;
is_used_lock('yunweijia'):返回结果为当前连接id,表示名称为yunweijia的锁正在被使用;
is_free_lock('yunweijia'):返回结果是0,说明名称为yunweijia的锁正在被使用;
release_lock('yunweijia'):返回值为1,说明解锁成功了。
重置执行指定操作的函数
benchmark(count, expr)函数重复count次数执行表达式expr。
他可以用机计算mysql处理表达式的速度。结果值一般是0(0只是表示处理过程很快,并不是没有花费时间)。另外一个作用是它可以在mysql客户端内部报告语句执行的时间。
举个例子:
首先我们使用sha函数加密一个密码,如下:
可以从上面看到,这条sql执行时间为0.00 sec,然后我们再使用benchmark函数,重复执行这个命令50000次,再看下运行时间;
从上面结果可以看到,实际上运行了0.03秒。
改变字符集的函数
convert(...using...):带有using的convert()函数被用来在不同的字符集之间转化数据。
从上面看到,默认的字符集为utf8mb3,通过convert将字符串yunweijia的默认字符集改为latin1。
改变数据类型的函数
cast(x, as type)和convert(x, type)函数将一个类型的值转换为另一个类型的值,可转换的type有以下几种:
- binary
- char(n)
- date
- time
- datetime
- decimal
- signed
- unsigned
从上面可以看到,select cast(1000 as char(3))将整数数据1000,转换为带有两个显示宽度的字符串类型,结果为100;
convert('2022-07-18 09:09:00', time)将datetime类型的值转换为time类型值,结果是09:09:00。
至此,本文结束。
更多内容请转至VX公众号 “运维家” ,获取最新文章。
------ “运维家” ------
------ “运维家” ------
------ “运维家” ------
临武县运维工程师培训,温州运维工程师,通达oa实施运维工程师,呼叫中心运维工程师面试
腾讯idc运 维工程师面试,运维工程师samba,运维工程师的行业是什么,
运维工程师的来历,运维工程师好找嘛,运维 工程师出入,运维工程师自学可行
边栏推荐
- leetcode:1300. 转变数组后最接近目标值的数组和【二分】
- 02.1.2. logic type bool
- win10安装sqlmap(windows 7)
- 2022-2023 年十大应用程序发展趋势
- 使用共用体union及指针测试大小端
- Nodejs: return value of mongodb after successful insertion
- cortex-M4与cortex-A7内核启动流程分析
- Blue Bridge Cup embedded Hal library LCD
- Do you want to enroll in class for advanced soft exam
- float浮动初步理解
猜你喜欢

PHP发送移动MAS短信乱码的解决方法

大三下学期总结

JS - modify the key name of the object in the array

Do data analysis, do you still not understand RFM analysis method (model)?

Zero code | easily realize data warehouse modeling and build Bi Kanban

BC35 NB模块AT指令开发总结

Table data processing software, what else besides excel?

Why is low code (apaas) popular again recently?

keil和IAR中lib库文件的生成和使用

Purchase, sale and inventory software suitable for small and medium-sized enterprises to solve five major problems
随机推荐
Blue Bridge Cup embedded Hal library LCD
Sword finger offer 35. replication of complex linked list
Under the platform driven platform, the "dev- > dev.of_node" of the formal parameter dev in the probe function Understanding of
I use the applet container to improve the efficiency of mobile R & D by 5 times!
JSON初步理解
The solution of PHP sending mobile MAS SMS garbled code
Preliminary understanding of float
go status.go 状态码定义
EC20/EC25 4G模块AT指令开发总结
为什么传输前要进行编码与调制
低代码十问:一文讲透关于低代码的一切!
Blue Bridge Cup embedded Hal library ADC
精品方案|海泰方圆全栈式数据安全治理方案 为数据设一把“安全锁”
Inventory: 6 books teach you the necessary skills for career promotion
Zero code | easily realize data warehouse modeling and build Bi Kanban
nodejs:mongodb 插入成功之后的返回值
c语言实现float型数据转成BCD数据
盘点:144个免费学习网站,全网最全资源合集
微软安全团队发现一家利用Windows零日漏洞销售间谍软件的奥地利公司
JWT login authentication + token automatic renewal scheme, well written!