博客
关于我
mysql还有哪些自带的函数呢?别到处找了,看这个就够了。
阅读量:789 次
发布时间:2023-02-13

本文共 2360 字,大约阅读时间需要 7 分钟。

MySQL 常用函数解析与示例

格式化函数 FPRMAT(x, n)

format(x, n) 函数用于对数字 x 进行格式化处理,并保留小数点后 n 位,结果以字符串形式返回。如果 n 为 0,则返回结果不含小数部分。

示例

select format(999.12345678, 5), format(888.12345678, 0);

结果如下:| format(999.12345678, 5) | format(888.12345678, 0) ||---------------------------|---------------------------|| 999.12346 | 888 |

功能说明

  • format(x, n) 会将 x 转换为带有小数点后 n 位的字符串。
  • 如果 n 为 0,结果将不含小数部分。

不同进制数字之间的转换

conv(n, from_base, to_base) 函数用于将不同进制数之间进行相互转换。该函数接收一个数值 n 以及源进制 from_base 和目标进制 to_base,返回转换后的字符串结果。如果任意一个参数为 null,则返回 null

示例

select conv('a', 16, 10) as coll, conv(123, 10, 2) as coll_1, conv(123, 10, 16) as coll_2, conv(123, 10, 8) as coll_3;

结果如下:| coll | coll_1 | coll_2 | coll_3 ||------|---------|--------|--------|| 10 | 1111011 | 7B | 173 |

功能说明

  • conv('a', 16, 10) 将 16 进制的字符 'a' 转换为 10 进制,结果为 10。
  • 其他示例类似,函数能够将不同进制数转换为指定目标进制。

IP 地址与数字的转换

inet_atoninet_ntoa 函数

  • inet_aton(expr) 将 IP 地址字符串转换为对应的整数值。
  • inet_ntoa(n) 将整数值网络地址转换为字符串形式 IP 地址。

示例

select inet_aton('192.168.1.1');

结果:| inet_aton('192.168.1.1') ||-------------------------|| 3232235777 |

select inet_ntoa(3232235777);

结果:| inet_ntoa(3232235777) ||------------------------|| 192.168.1.1 |

功能说明

  • 这两个函数互为反函数,可以相互转换 IP 地址和数字。

加锁与解锁功能

get_lock, release_lock, is_free_lock, is_used_lock, if_used_lock

这些函数用于管理锁的使用状态,适用于多线程环境下的资源管理。

示例

select get_lock('yunweijia', 15) as getlock, is_used_lock('yunweijia') as isusedlock, is_free_lock('yunweijia') as isfreelock, release_lock('yunweijia') as releaselock;

结果:| getlock | isusedlock | isfreelock | releaselock ||---------|-----------|------------|-------------|| 1 | 8 | 0 | 1 |

功能说明

  • get_lock(str, timeout) 获取指定名称的锁,超时时间为 timeout 秒,返回 1 表示成功获取,0 表示超时或锁已存在。
  • release_lock(str) 解除指定锁的使用,返回 1 表示解锁成功,0 表示无效或未被获取。
  • is_free_lock(str) 检查指定锁是否可用,返回 1 表示可以使用,0 表示正在被使用。
  • is_used_lock(str) 检查指定锁是否正在被使用,返回当前连接 ID,否则返回 null
  • if_used_lock(str) 检查指定锁是否被使用,返回使用锁的客户端连接标识符,否则返回 null

数据类型转换

castconvert 函数

cast(x, as type)convert(x, type) 用于将数据类型转换为指定类型,可转换类型包括:

  • binary
  • char(n)
  • date
  • time
  • datetime
  • decimal
  • signed
  • unsigned

示例

select cast(1000 as char(3)), convert('2022-07-18 09:09:00', time);

结果:| cast(1000 as char(3)) | convert('2022-07-18 09:09:00', time) ||-------------------------|--------------------------------------|| 100 | 09:09:00 |

功能说明

  • castconvert 函数能够将数据转换为不同的类型,适用于数据转换场景。

最后

以上是对 MySQL 中若干常用函数的解析与示例说明。这些函数能够帮助开发者高效地完成数据处理、转换和锁管理等任务。更多内容请关注 "运维家" 微信公众号,获取更多专业技术资讯。

转载地址:http://gldfk.baihongyu.com/

你可能感兴趣的文章
mysql如何做到存在就更新不存就插入_MySQL 索引及优化实战(二)
查看>>
mysql如何删除数据表,被关联的数据表如何删除呢
查看>>
MySQL如何实现ACID ?
查看>>
mysql如何记录数据库响应时间
查看>>
Mysql字段、索引操作
查看>>
mysql字段类型不一致导致的索引失效
查看>>
MySQL字符集与排序规则
查看>>
MySQL字符集乱码
查看>>
mysql存储中文 但是读取乱码_mysql存储中文乱码
查看>>
mysql存储登录_php调用mysql存储过程会员登录验证实例分析
查看>>
MySql存储过程中limit传参
查看>>
MySQL存储过程入门
查看>>
mysql存储过程批量建表
查看>>
MySQL存储过程的使用实现数据快速插入
查看>>
mysql存储过程详解
查看>>
Mysql存表情符号发生错误
查看>>
MySQL学习-group by和having
查看>>
MySQL学习-MySQL数据库事务
查看>>
MySQL学习-MySQL条件查询
查看>>
MySQL学习-SQL语句的分类与MySQL简单查询
查看>>