当前位置: 首页 > news >正文

MySQL-其他函数(补充)

格式化函数

FORMAT(x, n)

例:将数字x进行格式化,以四舍五入的方式保留n位小数,结果以字符串的形式返回

mysql> select format(12.3456,3),format(2.2,4),format(9.333,0);
+-------------------+---------------+-----------------+
| format(12.3456,3) | format(2.2,4) | format(9.333,0) |
+-------------------+---------------+-----------------+
| 12.346            | 2.2000        | 9               |
+-------------------+---------------+-----------------+
1 row in set (0.00 sec)

不同进制的数字进行转换的函数

CONV()

例:用于不同进制数之间的转换

mysql> select conv('a',16,2),       # 将16进制的a转换为2进制-> conv(15,10,2),                  # 将10进制的15转换为2进制-> conv(15,10,8),                  # 将10进制的15转换为8进制-> conv(15,10,16);                 # 将10进制的15转换为16进制
+----------------+---------------+---------------+----------------+
| CONV('a',16,2) | CONV(15,10,2) | CONV(15,10,8) | CONV(15,10,16) |
+----------------+---------------+---------------+----------------+
| 1010 | 1111 | 17 | F |
+----------------+---------------+---------------+----------------+

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

INET_ATON(expr) 、INET_NTOA(expr)

例1:INET_ATON(expr) 用于将网络地址转换为一个代表该地址数值的整数

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

例2:INET_NTOA(expr)将一个整数转换为网络地址,如果超过10位数值则返回null

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

加锁函数和解锁函数

GET_LOCK(str, timeout) 、RELEASE_LOCAK(str) 、 IS_FREE_LOCK(str) 、IS_USED_LOCK(str)

例1:GET_LOCK(str, timeout) 使用字符串 str 来得到一个锁,持续时间 timeout 秒

  1. 若成功得到锁,则返回 1

  1. 若操作超时,则返回 0

  1. 若发生错误,则返回 NULL

mysql> select get_lock('lock1',10);
+----------------------+
| get_lock('lock1',10) |
+----------------------+
|                    1 |        # 返回结果为1,说明成功得到了一个名称为'lock1'的锁,持续时间为10秒
+----------------------+
1 row in set (0.03 sec)

例2:RELEASE_LOCAK(str) 用于解开被 GET_LOCK() 获取的,用字符串 str 所命名的锁

  1. 若锁被解开,则返回 1

  1. 若该线程尚未创建锁,则返回 0

  1. 若命名的锁不存在,则返回 NULL

  1. 若该锁从未被 GET_LOCK() 的调用获取,或锁已经被提前解开,则该锁不存在返回null

mysql> select release_lock('lock1');
+-----------------------+
| release_lock('lock1') |
+-----------------------+
|                     1 |       # 返回值为1说明解锁成功
+-----------------------+
1 row in set (0.00 sec)

例3:IS_FREE_LOCK(str) 检查名为 str 的锁是否可以使用

  1. 若锁可以使用,则返回 1

  1. 若锁正在被使用,则返回 0

  1. 若出现错误,则返回 NULL

mysql> select is_free_lock('lock1');
+-----------------------+
| is_free_lock('lock1') |
+-----------------------+
|                     1 |# 返回值为1说明锁可以使用
+-----------------------+
1 row in set (0.02 sec)

例4:IS_USED_LOCK(str) 用于检查名为 str 的锁是否正在被使用,若被封锁,则返回使用该锁的客户端的连接标识符,否则返回 NULL

mysql> select is_used_lock('lock1');
+-----------------------+
| is_used_lock('lock1') |
+-----------------------+
|                     4 |       # 返回结果为当前连接ID(每台主机返回的不同,可以用CONNECTION_ID()函数查看本机id),表示名称为'lock1'的锁正在被使用
+-----------------------+
1 row in set (0.00 sec)
​
mysql> select is_used_lock('a');
+-------------------+
| is_used_lock('a') |
+-------------------+
|              NULL |
+-------------------+
1 row in set (0.00 sec)

重复执行指定操作的函数

BENCHMARK(count, expr)

例:BENCHMARK(count, expr) 用于重复 count 次执行表达式 expr

  1. 可以用于计算 MySQL 处理表达式的速度

  1. 可以在 MySQL 客户端内部报告语句执行的时间

mysql> select password('new_pass');
+-------------------------------------------+
| password('new_pass')                      |
+-------------------------------------------+
| *B6408F4D32E8BEC631EF224B6F743F3340E6E744 |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)          # 执行一次加密用时0.00秒
​
mysql> select benchmark(5000000,password('new_pass'));
+-----------------------------------------+
| benchmark(5000000,password('new_pass')) |
+-----------------------------------------+
|                                       0 |
+-----------------------------------------+
1 row in set, 1 warning (1.12 sec)          # 执行五百万次加密用时1.12秒

改变字符集的函数

CONVERT(... USING ...)

例:用于改变字符串的默认字符集

mysql> select charset('abc');
+----------------+
| charset('abc') |
+----------------+
| utf8           |                  # 默认utf8字符集
+----------------+
1 row in set (0.01 sec)
​
mysql> select charset(convert('abc' using latin1));
+--------------------------------------+
| charset(convert('abc' using latin1)) |
+--------------------------------------+
| latin1                               |    #修改后字符集为latin1
+--------------------------------------+
1 row in set (0.01 sec)

改变数据类型的函数

CAST(x, AS type) 、CONVERT(x, type)

例1:CAST(x, AS type) 用于将一个数据类型的值转换为另一个数据类型的值 CONVERT(x, type) 用于将一个数据类型的值转换为另一个数据类型的值

mysql> select cast(100 as char(2)); # 将整数类型100转换为带有两个显示宽度的字符串类型,结果为'10'

+----------------------+
| cast(100 as char(2)) |
+----------------------+
| 10                   |
+----------------------+
1 row in set, 1 warning (0.01 sec)

例2:CONVERT(x, type) 用于将一个数据类型的值转换为另一个数据类型的值

mysql> select convert(100,char(2));# 将整数类型的100转换为带有两个显示宽度的字符串类型,结果为'10'
+----------------------+
| convert(100,char(2)) |
+----------------------+
| 10                   |
+----------------------+
1 row in set, 1 warning (0.00 sec)

相关文章:

MySQL-其他函数(补充)

格式化函数FORMAT(x, n) 例:将数字x进行格式化,以四舍五入的方式保留n位小数,结果以字符串的形式返回mysql> select format(12.3456,3),format(2.2,4),format(9.333,0); --------------------------------------------------- | format(12…...

MySQL Study Notes Design in 2023

文章目录1 概述1.1 MySQL相关概述1.2 数据模型1.3 SQL分类2 数据库设计-DDL2.1 约束2.2 字段3 数据库操作-DML3.1 增加(insert)1 概述 1.1 MySQL相关概述 数据库:英文为 DataBase,简称DB,它是存储和管理数据的仓库。 数据库管理系统&#xf…...

C++ 修改防火墙firewall设置(Windows)

文章目录1、简介1.1 防火墙概述1.2 入站,还是出站?1.3 防火墙规则优先级2、系统界面方式3、命令行方式3.1 防火墙基本状态设置3.2 入站出站规则设置3.3 其他设置3.4 telnet检测端口4、C方式4.1 注册表4.2 COM(Windows XP)4.3 COM&…...

Spring 入门教程详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

day43【代码随想录】动态规划之一和零、完全背包理论基础

文章目录前言一、一和零(力扣474)二、完全背包前言 1、一和零 2、完全背包理论基础 一、一和零(力扣474) 求装满这个背包最多有多少个物品 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集…...

GEE学习笔记 七十八:干涸的洪泽湖

今天看了一篇报道直击60年一遇气象干旱:洪泽湖缩小近一半,鱼蟹受灾严重!_新华报业网(直击60年一遇气象干旱:洪泽湖缩小近一半,鱼蟹受灾严重!),既然玩GEE那就要玩出点花样…...

双指针【灵神基础精讲】

来源0x3f:https://space.bilibili.com/206214 文章目录同向双指针[209. 长度最小的子数组](https://leetcode.cn/problems/minimum-size-subarray-sum/)[713. 乘积小于 K 的子数组](https://leetcode.cn/problems/subarray-product-less-than-k/)[3. 无重复字符的最…...

tushare量化数据库模块怎么分析?

tushare量化数据其实包含的数据库有些是需要收费的,也有些会免费提供,不过tushare量化数据库整个库就很大很大,涉及的范围也广,挖掘这些数据还得从量化股票接口说起,就比如说在股票量化领域,tushare量化数据…...

模型转换 PyTorch转ONNX 入门

前言 本文主要介绍如何将PyTorch模型转换为ONNX模型,为后面的模型部署做准备。转换后的xxx.onnx模型,进行加载和测试。最后介绍使用Netron,可视化ONNX模型,看一下网络结构;查看使用了那些算子,以便开发部署…...

【深度学习】激活函数

上一章——认识神经网络 新课P54介绍了强人工智能概念,P55到P58解读了矩阵乘法在代码中的应用,P59,P60介绍了在Tensflow中实现神经网络的代码及细节,详细的内容可以自行观看2022吴恩达机器学习Deeplearning.ai课程,专…...

【新2023】华为OD机试 - 数字的排列(Python)

华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 数字的排列 题目 小华是个很有对数字很敏感的小朋友, 他觉得数字的不同排列方式有特殊的美感。 某天,小华突发奇想,如果数字多行排列, 第一行1个数, 第二行2个, 第三行3个, 即第n行n个数字,并且…...

[oeasy]python0085_ASCII之父_Bemer_COBOL_数据交换网络

编码进化 回忆上次内容 上次 回顾了 字符编码的 进化过程 IBM 在数字化过程中 作用 非常大IBM 的 BCDIC 有 黑历史 😄 6-bit的 BCDIC 直接进化成 8-bit的 EBCDIC补全了 小写字母 和 控制字符 在ibm就是信息产业的年代 ibm的标准 怎么最终 没有成为 行业的标准 呢…...

volatile,内存屏障

volatile的特性可见性: 对于其他线程是可见,假设线程1修改了volatile修饰的变量,那么线程2是可见的,并且是线程安全的重排序: 由于CPU执行的时候,指令在后面的会先执行,在指令层级的时候我们晓得volatile的特性后,我们就要去volatile是如何实现的,这个很重要!&#…...

【ESP 保姆级教程】玩转emqx MQTT篇① —— 系统主题、延迟发布、服务器配置预算、常见问题

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-18 ❤️❤️ 本篇更新记录 2023-02-18 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

第48讲:SQL优化之ORDER BY排序查询的优化

文章目录1.ORDEY BY排序查询优化方面的概念2.ORDER BY排序的优化原则3.ORDER BY排序优化的案例3.1.准备排序优化的表以及索引3.2.同时对nl和lxfs字段使用升序排序3.3.同时对nl和lxfs字段使用降序排序3.4.排序时调整联合索引中字段的位置顺序3.5.排序时一个字段使用升序一个字段…...

[Datawhale][CS224W]图机器学习(三)

目录一、简介与准备二、教程2.1 下载安装2.2 创建图2.2.1 常用图创建(自定义图创建)1.创建图对象2.添加图节点3.创建连接2.2.2 经典图结构1.全连接无向图2.全连接有向图3.环状图4.梯状图5.线性串珠图6.星状图7.轮辐图8.二项树2.2.3 栅格图1.二维矩形栅格…...

2023版最新最强大数据面试宝典

此套面试题来自于各大厂的真实面试题及常问的知识点,如果能理解吃透这些问题,你的大数据能力将会大大提升,进入大厂指日可待!目前已经更新到第4版,广受好评!复习大数据面试题,看这一套就够了&am…...

CSS 中的 BFC 是什么,有什么作用?

BFC,即“块级格式化上下文”(Block Formatting Context),是 CSS 中一个重要的概念,它指的是一个独立的渲染区域,让块级盒子在布局时遵循一些特定的规则。BFC 的存在使得我们可以更好地控制文档流&#xff0…...

总结在使用 Git 踩过的坑

问题一: 原因 git 有两种拉代码的方式,一个是 HTTP,另一个是 ssh。git 的 HTTP 底层是通过 curl 的。HTTP 底层基于 TCP,而 TCP 协议的实现是有缓冲区的。 所以这个报错大致意思就是说,连接已经关闭,但是此时有未处理…...

从 HTTP 到 gRPC:APISIX 中 etcd 操作的迁移之路

罗泽轩,API7.ai 技术专家/技术工程师,Apache APISIX PMC 成员。 原文链接 Apache APISIX 现有基于 HTTP 的 etcd 操作的局限性 etcd 在 2.x 版本的时候,对外暴露的是 HTTP 1 (以下简称 HTTP)的接口。etcd 升级到 3.x…...

【C语言每日一题】——倒置字符串

【C语言每日一题】——倒置字符串😎前言🙌倒置字符串🙌总结撒花💞😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简…...

Native扩展开发的一般流程(类似开发一个插件)

文章目录大致开发流程1、编写对应的java类服务2、将jar包放到对应位置3、配置文件中进行服务配置4、在代码中调用5、如何查看服务调用成功大致开发流程 1、编写服务,打包为jar包2、将jar包放到指定的位置3、在配置文件中进行配置,调用对应的服务 1、编…...

【新解法】华为OD机试 - 任务调度 | 备考思路,刷题要点,答疑,od Base 提供

华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 任务调度 题目 现有一个 CPU 和一些任务需要处理,已提前获知每个任务的任务 ID、优先级、所需执行时间和到达时间。 CPU 同时只能运行一个任务,请编写一个任务调度程序,采用“可抢占优先权调度”调度…...

Spring3定时任务

简介 Spring 内部有一个 task 是 Spring 自带的一个设定时间自动任务调度,提供了两种方式进行配置,一种是注解的方式,而另外一种就是 XML 配置方式了;注解方式比较简洁,XML 配置方式相对而言有些繁琐,但是应用场景的不…...

数据库版本管理工具Flyway应用研究

目录1 为什么使用数据库版本控制2 数据库版本管理工具选型:Flyway、Liquibase、Bytebase、阿里 DMSFlywayLiquibaseBytebase阿里 DMS3 Flyway数据库版本管理研究3.1 参考资料3.2 Flyway概述3.3 Flyway原理3.4 Flyway版本和功能3.5 Flyway概念3.5.1 版本迁移&#xf…...

更换 Ubuntu 系统 apt 命令安装软件源

更换 Ubuntu 系统 apt 命令安装软件源清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/ 1. Ubuntu 的软件源配置文件 /etc/apt/sources.list MIRRORS -> 使用帮助 -> ubuntu https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ Ubuntu 系统 apt 命令安…...

2023年可见光通信(LiFi)研究新进展

可见光无线通信Light Fidelity(LiFi)又称“光保真技术”,是一种利用可见光进行数据传输的全新无线传输技术。LiFi是一种以半导体光源作为信号发射源,利用无需授权的自由光谱实现无线连接的新型无线通信技术,支持高密度…...

Greenplum的两阶段提交

注:本文章引自终于把分布式事务讲明白了! 在前面的文章中,我们了解了单机库中的事务一致性实现以及分布式事务中的两阶段提交协议。大多数分布式系统都是采用了两阶段提交塄来保证事务的原子性,Greenplum也是采用了两阶段提交&am…...

多元回归分析 | CNN-BiLSTM卷积双向长短期记忆神经网络多输入单输出预测(Matlab完整程序)

多元回归分析 | CNN-BiLSTM卷积双向长短期记忆神经网络多输入单输出预测(Matlab完整程序) 目录 多元回归分析 | CNN-BiLSTM卷积双向长短期记忆神经网络多输入单输出预测(Matlab完整程序)预测结果评价指标基本介绍程序设计参考资料预测结果 评价指标 训练结束: 已完成最大轮…...

git命令行推送本地分支到远程仓库

之前说过Git与IDEA强强联合(HTTPS协议连接)那么如何使用命令行来推送代码呢? 如下图所示为一个基于layui的前端代码: 目录工作区文件: 本地内容就是将这些内容推送到远程仓库 首先使用git命令初始化git本地仓库&…...

个人网站怎么做有创意/北京seo相关

前言(1)不记快捷键,不要说自己会PS;(2)背下本文中所列一半以上的快捷键,就可以玩转PS了;(3)本文也并没列出Photoshop中所有的快捷键。本文所列快捷键有很多也…...

yfcms企业网站建设/新站seo竞价

原作者:王健 来源:https://insights.thoughtworks.cn/what-is-zhongtai/ 从去年开始,好像就有一只无形的手一直将我与“微服务”、“平台化”、“中台化”撮合在一起,给我带来了很多的困扰和思考与收获。 故事的开始源于去年的技术…...

asp网站域名/seo网站推广简历

由MySQL提供的模式匹配的其它类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。3. 正则表达式的使用;扩展正则表达式的一些字符是: ‘.’匹配任…...

本机做网站/长沙网络科技有限公司

常用shell脚本总结一、计算100以内奇偶数的和的几种方法1)、方法一 {1..100..2}[rootstation78 scirtp]# cat 6.sh #!/bin/sh evensum0 for i in {1..100..2} doevensum$[$evensum$i] done echo "135...$evensum" oddsum0 for I in {2..100..2} dooddsu…...

wordpress扁平化主题/成都seo的方法

——阶段 动态规划问题通常都具有时间或空间上的次序性,因此求解这类问题时,首先要将问题按一定的次序划分成若干相互联系的阶段,以便能按一定次序去求解。如例1,可以按空间次序划分为A—B—C—D—E 4个阶段,而例2&…...

网络公司名字免费起名大全/aso优化排名推广

文 / 李杰,常务董事、片区联席会议总裁、人力资源管理部总裁来源:《华为人报》2006年我刚担任GTS总裁的时候,公司已经开始重视项目经理队伍的建设了。当时公司的要求是建一支200人的项目经理队伍,我们从一个非常小的组织&#xff…...