mysql还有哪些自带的函数呢?别到处找了,看这个就够了。

2023-05-16

图片

格式化函数FPRMAT(x,n)

format(x,n)将数字x进行格式化,并以四舍五入的方式保留小数点后n位,结果以字符串的形式返回。

如果n为0,则返回结果函数不含小数部分。

mysql> select format(999.12345678, 5), format(888.12345678, 0);
+-------------------------+-------------------------+
| format(999.12345678, 5) | format(888.12345678, 0) |
+-------------------------+-------------------------+
| 999.12346               | 888                     |
+-------------------------+-------------------------+
1 row in set (0.00 sec)

mysql>

不同进制的数字之间进行相互转换

conv(n, from_base, to_base)这个函数可以进行不同进制数之间的相互转换。比如将16进制的数字转换成2进制,亦或者将2进制的数字转换成10进制都可以。

返回值为数值n的字符串表示,由from_base进制转化为to_base进制。如果任意一个参数为null的话,那么返回值就是null

mysql> 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    |
+------+---------+--------+--------+
1 row in set (0.00 sec)

mysql>

IP地址和数字相互转换的函数

inet_auto(expr)给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数。地址可以是4或者8bit地址。

mysql> select inet_aton('192.168.1.1');
+--------------------------+
| inet_aton('192.168.1.1') |
+--------------------------+
|               3232235777 |
+--------------------------+
1 row in set (0.00 sec)

mysql>

反之,我们也可以使用inet_ntoa函数将数值网络地址转换为字符串网络点地址,往下看:

mysql> select inet_ntoa(3232235777);
+-----------------------+
| inet_ntoa(3232235777) |
+-----------------------+
| 192.168.1.1           |
+-----------------------+
1 row in set (0.00 sec)

mysql>

所以,从上面来看,inet_ntoainet_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

mysql> 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 |
+---------+------------+------------+-------------+
1 row in set (0.01 sec)

mysql>

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函数加密一个密码,如下:

mysql> select sha('yunweijia');
+------------------------------------------+
| sha('yunweijia')                         |
+------------------------------------------+
| 683501978a90d76d420b893cd7e00c8efde8e8f3 |
+------------------------------------------+
1 row in set (0.00 sec)

mysql>

可以从上面看到,这条sql执行时间为0.00 sec,然后我们再使用benchmark函数,重复执行这个命令50000次,再看下运行时间;

mysql> select benchmark(50000, sha('yunweijia'));
+------------------------------------+
| benchmark(50000, sha('yunweijia')) |
+------------------------------------+
|                                  0 |
+------------------------------------+
1 row in set (0.03 sec)

mysql>

从上面结果可以看到,实际上运行了0.03秒。

改变字符集的函数

convert(...using...):带有usingconvert()函数被用来在不同的字符集之间转化数据。

mysql> select charset('yunweijia') as coll, charset(convert('yunweijia' using latin1)) as coll_1;
+---------+--------+
| coll    | coll_1 |
+---------+--------+
| utf8mb3 | latin1 |
+---------+--------+
1 row in set (0.00 sec)

mysql>

从上面看到,默认的字符集为utf8mb3,通过convert将字符串yunweijia的默认字符集改为latin1

改变数据类型的函数

cast(x, as type)convert(x, type)函数将一个类型的值转换为另一个类型的值,可转换的type有以下几种:

  • binary

  • char(n)

  • date

  • time

  • datetime

  • decimal

  • signed

  • unsigned

mysql> 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                             |
+-----------------------+--------------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql>

从上面可以看到,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,运维工程师的行业是什么,
运维工程师的来历,运维工程师好找嘛,运维 工程师出入,运维工程师自学可行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql还有哪些自带的函数呢?别到处找了,看这个就够了。 的相关文章

  • Movidus 神经计算棒 树莓派平台 ncsdk2.0 完全配置 及 一些问题

    配置之前的琐事和解决方法 之前配置了的1 x版本的ncsdk 错误百出 xff0c 于是有了另一篇文章就是纯API配置 xff0c 没有配完全版 经过我的测试 xff0c 用以下方法配置是可以用的 配置方法和下面的2 0类似 xff0c 不
  • 小猫爪:PMSM之FOC控制12-扩展卡尔曼滤波状态观测器解析

    小猫爪 xff1a PMSM之FOC控制12 扩展卡尔曼滤波状态观测器解析 1 前言2 卡尔曼滤波的原理2 1 卡尔曼滤波的思想2 2 卡尔曼滤波的过程 3 卡尔曼滤波和观测器的联系3 1 观测器的引入3 2 卡尔曼滤波在观测器的体现 4
  • git怎么合并两个分支

    git怎么合并分支代码 1 git 命令 注意 第一步你得把当前分支合到远程分支去才能有下面的操作 另外我是将develop分支代码合并到release分支去 1 推完代码到远程仓库查看本地分支 如果推错分支代码那么请将分支切到刚刚推送上去
  • 小猫爪:嵌入式小知识11-MPU详解及其应用

    小猫爪 xff1a 嵌入式小知识11 MPU详解及其应用 1 前言2 MPU简介3 MPU相关概念3 1 Memory Map3 2 MPU Region3 3 Region优先级3 4 Background Region3 5 Cache
  • MavSDK&Mavros学习笔记

    MavSDK amp Mavros学习笔记 Introduction MAVSDK Guide mavlink io GitHub mavlink MAVSDK源码 C 43 43 MAVSDK API reference paper Gi
  • Ubuntu realsenseSDK2安装方法

    分为两种 xff0c 这里只是Intel的翻译和个人安装记录总结 详细可以参看Intel realsenseSDK2的github仓库Release Intel RealSense SDK 2 0 v2 51 1 IntelRealSens
  • ROS☞通过两种方法提取.bag中的图像数据

    以下两种环境均在Ubuntu16 04环境下测试成功 第一种方法 ROS 从rosbag中提取图像 xff08 by launch文件 xff09 1 新建launch文件 xff08 文件在哪无所谓 xff0c 可以在catkin ws的
  • Git基础教程(二)

    使用Git删除文件 1 直接删除 可以使用rm命令删除文件 xff0c 如 xff1a rm welcome html 然后查看一下状态 xff1a 然后发现welcome html的状态为deleted xff0c 如果你真的想在git管
  • Git基础教程(三)

    Git分支 在git中使用分支非常简单 xff0c 只需要使用Git branch命令即可 xff1a git branch test 新建test分支 此时使用git branch查看一下分支 xff1a 此时的确多了一个分支 xff0c
  • Git基础教程(四)

    工作做到一半需要临时切换到别的任务 1 先commit当前的进度 简单的做法先保存当前的修改 然后切换到有问题的分级 xff0c 先完成别的功能 xff0c 然后切换回原来做到一半的develop分支 xff0c 执行reset命令 xff
  • jupyter notebook matplotlib绘制动态图并显示在notebook中

    有些时候matplotlib 的绘图没法显示在notebook中 xff0c 或者显示不了 这与backend有关 首先启动你的notebook xff0c 输入 pylab 查看你的matplotlib后端 xff0c 我的输出为 xff
  • 主机连接wifi,如何设置虚拟机上网方式

    主机是windows系统 xff08 win7 xff0c win10 xff09 xff0c 如果使用wifi上网 xff0c 虚拟机如何设置 xff1f xff1f 首先打开主机网络 xff08 如下所示 xff09 xff1a 1 点
  • VS2015断点调试方法

    备注 xff1a 部分图片 xff08 打马赛克的 xff09 转自百度 xff0c 侵删 xff01 果真被和谐了 xff0c 大家还是看这个网页吧 xff1a https jingyan baidu com album e75057f2
  • FreeRTOS 源代码的编程标准与命名约定

    一 编程标准 xff08 Coding Standard xff09 FreeRTOS 源代码遵守 MISRA Motor Industry Software Reliability Association 规范 与 MISRA 标准有出入
  • 特征匹配中OpenCV Dmatch类的用法解析以及非常详细的ORB特征提取与匹配解析

    首先说明一点 xff0c 在SLAM中进行特征提取和匹配时 xff0c 需要注意使用的OpenCV版本 xff0c 在使用OpenCV2 x版本时 xff0c 可以创建特征对象如下所示 xff08 省略了参数表 xff09 xff1a OR
  • 单目视觉里程计的尺度问题的疑问?

    SLAM是个坑 经过一段时间对SLAM的了解 xff0c 原来是我理解有错误 xff0c 得到的尺度已经是统一的 xff0c 只是不知道它的真实尺度是多少 贴一个不错的视觉里程计简介的链接 xff1a https blog csdn net
  • 使用ORB_SLAM2的方式进行特征检测和提取

    比较opencv默认的方式和ORB SLAM2中对opencv进行重写的方式 xff0c 两个方法对图像特征提取结果的对比 为方便比较 xff0c 写在同一个文件中 主函数如下 xff1a include lt iostream gt in
  • 什么是归一化的平面坐标

    所谓的归一化的成像平面 xff0c 就是将三维空间点的坐标都除以Z 所有空间点坐标都转到了相机前单位距离处 xff0c 这个平面就叫归一化的平面 xff0c 之后再乘以焦距 f f f xff0c 让归一化平面回到成像平面 以一张别的博主做
  • 无人机编程实战第1讲——无人机简介

    目录 前言 一 飞控是什么 xff1f 二 扫盲行动 xff01 xff01 xff01 1 微控制器 2 传感器 3 处理 xff1f 4 无人机飞行姿态 总结 前言 随着开源无人机飞行控制器的不断发展 xff0c 越来越多优秀的代码与算
  • 阿里云Serverless kubernetes服务购买体验

    阿里云Serverless kubernetes服务购买体验 Serverless kubernetes是什么优点缺点体验步骤价格ECI的价格 xff1a ECS的价格 阿里云Serverless Kubernetes支持列表总结 Serv

随机推荐

  • python修改xml文件内容,不废话,拿来即用

    XML 被设计用来传输和存储数据 HTML 被设计用来显示数据 XML 指可扩展标记语言 xff08 eXtensible Markup Language xff09 可扩展标记语言 xff08 英语 xff1a Extensible Ma
  • mysql如何删除数据表,被关联的数据表如何删除呢

    删除数据表的时候 xff0c 表的定义和表中所有的数据均会被删除 因此 xff0c 在进行删除操作前 xff0c 最好对表中的数据做一个备份 xff0c 以免造成无法挽回的后果 mysql删除数据表分为两种情况 xff1b mysql删除没
  • mysql8.0新特性-自增变量的持久化

    在mysql8 0之前 xff0c 自增主键AUTO INCREMENT的值如果大于max primay key 43 1 xff0c 在mysql重启后 xff0c 会重置AUTO INCREMENT 61 max primay key
  • 双系统重装Ubuntu20.04及系统基本配置

    文章目录 前言Ubuntu20 04换源安装chrome浏览器安装OneNote安装Wechat QQ Dingtalk参考 前言 笔者从2019年9月份去长沙智能驾驶研究院开始接触ubuntu18 04 在2020年4月份做本科毕业设计的
  • 视觉 SLAM 十四讲 —— 第十三讲 建图

    视觉 SLAM 十四讲 第十三讲 建图 在前端和后端中 xff0c 我们重点关注同时估计相机运动轨迹与特征点空间位置的问题 然而 xff0c 在实际使用 SLAM 时 xff0c 除了对相机本体进行定位之外 xff0c 还存在许多其他的需求
  • mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍

    mysql表中数据表的各种操作 xff0c 创建表 添加各类约束 查看表结构 修改和删除表 这次带你捋清楚 xff0c 从头再走一遍 实验目的 创建 修改和删除表 xff0c 掌握数据表的基本操作 实验结果 创建数据库company xff
  • nginx自动摘除和恢复后端服务,进行自动检测

    主动地健康检查 xff0c nginx定时主动地去ping后端的服务列表 xff0c 当发现某服务出现异常时 xff0c 把该服务从健康列表中移除 xff0c 当发现某服务恢复时 xff0c 又能够将该服务加回健康列表中 nginx自带的u
  • nginx中配置root和alias的区别

    在nginx中 xff0c root和alias都可以代理静态资源 xff0c 那么他们两个有什么区别呢 xff1f 在什么情况下使用什么呢 初识 xff1a root和alias都可以在定义在location模块中 xff0c 都是用来请
  • 史上最全的mysql数据类型汇总-(上)

    mysql支持多种数据类型 xff0c 主要有数值类型 日期 时间类型以及字符串类型 整数类型 数值型数据类型主要用来存储数字 xff0c mysql提供了多种数值数据类型 xff0c 不同的数据类型提供不同的取值范围 xff0c 可以存储
  • 史上最全的mysql数据类型汇总(下)

    接着上文继续来梳理 xff0c 上文我们写到了日期与时间类型中的time类型 xff0c 然后我们接着来写日期与时间类型中的date类型 date类型 date类型用在仅需要日期值时 xff0c 没有时间部分 xff0c 在存储时需要3字节
  • mysql中的字段如何选择合适的数据类型呢?

    前面两篇我们介绍了很多种数据类型 xff0c 那么有没有看花眼呢 xff0c 我们在mysql中创建数据表的时候 xff0c 到底应该选择哪一种数据类型呢 xff1f 这次我们就来简单的梳理一下子把 准则 我们不论要如何创建数据表 xff0
  • mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏

    运算符连接表达式中的各个操作数 xff0c 他的作用是用来指明对数据表中的操作数所进行的运算 运用运算法有什么好处呢 xff1f 运用运算符可以更加灵活的使用表中的数据 xff0c 我们可以通过使用运算符来解决我们的很多问题 xff0c 大
  • mysql函数汇总之数学函数

    什么是mysql函数 xff1f 61 61 61 61 61 61 61 61 61 61 61 61 61 61 函数表示对输入参数值返回一个具有特定关系的值 xff0c mysql提供了大量丰富的函数 xff0c 在进行数据库管理以及
  • mysql函数汇总之字符串函数

    字符串函数主要用来处理数据库中的字符串数据 mysql中的字符串函数有计算字符串长度函数 字符串合并函数 字符串替换函数 字符串比较函数 查找指定字符串位置函数等 计算字符串字符数的函数 CHAR LENGTH str 函数计算字符串str
  • mysql函数汇总之日期和时间函数

    日期和时间函数主要用来处理日期和时间值 xff0c 一般的日期函数除了使用date类型的参数外 xff0c 也可以使用datetime或者timestamp类型的参数 xff0c 但会忽略这些值的时间部分 获取当前日期的函数 curdate
  • [ Ubuntu 使用技巧 ] 在当前工作目录打开 Terminal

    1 General Purposes Why I wrote this 在 Ubuntu 系统开发最舒服的一点就是可以开心地使用 Terminal 这是个好东西 xff0c 尤其当你熟悉大部分的常用命令之后 xff0c 对日常的代码工作还有
  • mysql函数汇总之条件判断函数

    条件判断函数也被称为控制流程函数 xff0c 根据满足的不同条件 xff0c 执行响应的流程 mysql中进行条件判断的函数有if ifunll和case等 IF expr v1 v2 函数 IF expr v1 v2 xff1a 如果表达
  • mysql函数汇总之系统信息函数

    mysql的系统信息有数据库的版本号 当前用户名和连接数 系统字符集 最后一个自动生成的ID值等 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • mysql数据库中的数据如何加密呢?mysql8.0自带新特性

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • mysql还有哪些自带的函数呢?别到处找了,看这个就够了。

    格式化函数FPRMAT x n format x n 将数字x进行格式化 xff0c 并以四舍五入的方式保留小数点后n位 xff0c 结果以字符串的形式返回 如果n为0 xff0c 则返回结果函数不含小数部分 mysql gt select