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

Mysql的库函数

MySQL是一个流行的开源关系型数据库管理系统,它提供了大量的内置库函数,用于在查询时执行各种操作。这些函数可以帮助开发者在数据检索、转换和处理过程中实现更复杂的逻辑。

1 字符串函数

函数描述
ASCII(s)返回字符串 s 的第一个字符的 ASCII 码。
CHAR_LENGTH(s)返回字符串 s 的字符数
CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串
CONCAT_WS(x, s1,s2…sn)同 CONCAT(s1,s2,…) 函数,但是每个字符串之间要加上 x,x 可以是分隔符
FIELD(s,s1,s2…)返回第一个字符串 s 在字符串列表(s1,s2…)中的位置
FIND_IN_SET(s1,s2)返回在字符串s2中与s1匹配的字符串的位置
INSERT(s1,x,len,s2)字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串
LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置
LCASE(s)将字符串 s 的所有字母变成小写字母
LEFT(s,n)返回字符串 s 的前 n 个字符
LOWER(s)将字符串 s 的所有字母变成小写字母
LPAD(s1,len,s2)在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len
LTRIM(s)去掉字符串 s 开始处的空格
MID(s,n,len)从字符串 s 的 n 位置截取长度为 len 的子字符串,同 SUBSTRING(s,n,len)
POSITION(s1 IN s)从字符串 s 中获取 s1 的开始位置
REPEAT(s,n)将字符串 s 重复 n 次
REPLACE(s,s1,s2)将字符串 s2 替代字符串 s 中的字符串 s1
REVERSE(s)将字符串s的顺序反过来
RIGHT(s,n)返回字符串 s 的后 n 个字符
RPAD(s1,len,s2)在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len
RTRIM(s)去掉字符串 s 结尾处的空格
SPACE(n)返回 n 个空格
STRCMP(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
SUBSTR(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串
SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串,等同于 SUBSTR(s, start, length)
SUBSTRING_INDEX(s, delimiter, number)返回从字符串 s 的第 number 个出现的分隔符 delimiter 之后的子串。 如果 number 是正数,返回第 number 个字符左边的字符串。 如果 number 是负数,返回第(number 的绝对值(从右边数))个字符右边的字符串。
TRIM(s)去掉字符串 s 开始和结尾处的空格
UCASE(s)将字符串转换为大写
UPPER(s)将字符串转换为大写

2 数字函数

函数名描述
ABS(x)返回 x 的绝对值
ACOS(x)求 x 的反余弦值(单位为弧度),x 为一个数值
ASIN(x)求反正弦值(单位为弧度),x 为一个数值
ATAN(x)求反正切值(单位为弧度),x 为一个数值
ATAN2(n, m)求反正切值(单位为弧度)
AVG(expression)返回一个表达式的平均值,expression 是一个字段
CEIL(x)返回大于或等于 x 的最小整数
CEILING(x)返回大于或等于 x 的最小整数
COS(x)求余弦值(参数是弧度)
COT(x)求余切值(参数是弧度)
COUNT(expression)返回查询的记录总数,expression 参数是一个字段或者 * 号
DEGREES(x)将弧度转换为角度
n DIV m整除,n 为被除数,m 为除数
EXP(x)返回 e 的 x 次方
FLOOR(x)返回小于或等于 x 的最大整数
GREATEST(expr1, expr2, expr3, …)返回列表中的最大值
LEAST(expr1, expr2, expr3, …)返回列表中的最小值
LN返回数字的自然对数,以 e 为底。
LOG(x) 或 LOG(base, x)返回自然对数(以 e 为底的对数),如果带有 base 参数,则 base 为指定带底数。
LOG10(x)返回以 10 为底的对数
LOG2(x)返回以 2 为底的对数
MAX(expression)返回字段 expression 中的最大值
MIN(expression)返回字段 expression 中的最小值
MOD(x,y)返回 x 除以 y 以后的余数
PI()返回圆周率(3.141593)
POW(x,y)返回 x 的 y 次方
POWER(x,y)返回 x 的 y 次方
RADIANS(x)将角度转换为弧度
RAND()返回 0 到 1 的随机数
ROUND(x [,y])返回离 x 最近的整数,可选参数 y 表示要四舍五入的小数位数,如果省略,则返回整数。
SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1
SIN(x)求正弦值(参数是弧度)
SQRT(x)返回x的平方根
SUM(expression)返回指定字段的总和
TAN(x)求正切值(参数是弧度)
TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)

3 日期函数

函数名描述
ADDDATE(d,n)计算起始日期 d 加上 n 天的日期
ADDTIME(t,n)n 是一个时间表达式,时间 t 加上时间表达式 n
CURDATE()返回当前日期
CURRENT_DATE()返回当前日期
CURRENT_TIME返回当前时间
CURRENT_TIMESTAMP()返回当前日期和时间
CURTIME()返回当前时间
DATE()从日期或日期时间表达式中提取日期值
DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数
DATE_ADD(d,INTERVAL expr type)计算起始日期 d 加上一个时间段后的日期,type 值可以是: MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
DATE_FORMAT(d,f)按表达式 f的要求显示日期 d
DATE_SUB(date,INTERVAL expr type)函数从日期减去指定的时间间隔。
DAY(d)返回日期值 d 的日期部分
DAYNAME(d)返回日期 d 是星期几,如 Monday,Tuesday
DAYOFMONTH(d)计算日期 d 是本月的第几天
DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推
DAYOFYEAR(d)计算日期 d 是本年的第几天
EXTRACT(type FROM d)从日期 d 中获取指定的值,type 指定返回的值。 type可取值为: MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
FROM_DAYS(n)计算从 0000 年 1 月 1 日开始 n 天后的日期
HOUR(t)返回 t 中的小时值
LAST_DAY(d)返回给给定日期的那一月份的最后一天
LOCALTIME()返回当前日期和时间
LOCALTIMESTAMP()返回当前日期和时间
MAKEDATE(year, day-of-year)基于给定参数年份 year 和所在年中的天数序号 day-of-year 返回一个日期
MAKETIME(hour, minute, second)组合时间,参数分别为小时、分钟、秒
MICROSECOND(date)返回日期参数所对应的微秒数
MINUTE(t)返回 t 中的分钟值
MONTHNAME(d)返回日期当中的月份名称,如 November
MONTH(d)返回日期d中的月份值,1 到 12
NOW()返回当前日期和时间
PERIOD_ADD(period, number)为 年-月 组合日期添加一个时段
PERIOD_DIFF(period1, period2)返回两个时段之间的月份差值
QUARTER(d)返回日期d是第几季节,返回 1 到 4
SECOND(t)返回 t 中的秒钟值
SEC_TO_TIME(s)将以秒为单位的时间 s 转换为时分秒的格式
STR_TO_DATE(string, format_mask)将字符串转变为日期
SUBDATE(d,n)日期 d 减去 n 天后的日期
SUBTIME(t,n)时间 t 减去 n 秒的时间
SYSDATE()返回当前日期和时间
TIME(expression)提取传入表达式的时间部分
TIME_FORMAT(t,f)按表达式 f 的要求显示时间 t
TIME_TO_SEC(t)将时间 t 转换为秒
TIMEDIFF(time1, time2)计算时间差值
TIMESTAMP(expression, interval)单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)计算时间差,返回 datetime_expr2 − datetime_expr1 的时间差
TO_DAYS(d)计算日期 d 距离 0000 年 1 月 1 日的天数
WEEK(d)计算日期 d 是本年的第几个星期,范围是 0 到 53
WEEKDAY(d)日期 d 是星期几,0 表示星期一,1 表示星期二
WEEKOFYEAR(d)计算日期 d 是本年的第几个星期,范围是 0 到 53
YEAR(d)返回年份
YEARWEEK(date, mode)返回年份及第几周(0到53),mode 中 0 表示周天,1表示周一,以此类推

4 聚合函数

聚合函数需要配合MySQL的分组查询使用

函数名描述
max(column)查询指定字段值中的最大值。
min(column)查询指定字段值中的最小值。
count(column)统计查询结果中的行数。
sum(column)求和指定字段的所有值。
avg(column)对指定字段的所有值,求出平均值。
group_concat(column)返回指定字段所有值组合成的结果
distinct(column)对于查询结果中的指定的字段去重。

5 控制流程函数

跟其他语言的控制流程类型,成立走这个分支,不成立走其他的分支

函数名描述
if(expr,r1,r2)expr是表达式,如果成立返回r1,否则返回r2
ifnull(v,r)如果v不为null则返回v,否则返回r
nullif(v1,v2)如果v1 == v2,则返回null,如果不相等则返回V1

6 加密函数

MySQL自带了对密码进行加密的函数,支持多种对称加密和非对称加密的方式

函数名描述
password(str)str字符串以数据库密码的形式加密
md5(str)str字符串以MD5不可逆算法模式加密
encode(str,key)通过key密钥对str字符串进行加密(对称加密算法)。
decode(str,key)通过key密钥对str字符串进行解密。
aes_encrypt(str,key)通过key密钥对str字符串,以AES算法进行加密。
aes_decrypt(str,key)通过key密钥对str字符串,以AES算法进行解密。
sha(str)计算str字符串的散列算法校验值。
encrypt(str,salt)使用salt盐值对str字符串进行加密。
decrypt(str,salt)使用salt盐值对str字符串进行解密。

相关文章:

Mysql的库函数

MySQL是一个流行的开源关系型数据库管理系统&#xff0c;它提供了大量的内置库函数&#xff0c;用于在查询时执行各种操作。这些函数可以帮助开发者在数据检索、转换和处理过程中实现更复杂的逻辑。 1 字符串函数 函数描述ASCII(s)返回字符串 s 的第一个字符的 ASCII 码。CHA…...

绿联 安装onlyoffice容器并启用Cloudreve的office在线预览与编辑功能

原文&#xff1a;绿联 安装onlyoffice容器并启用Cloudreve的office在线预览与编辑功能 本篇教程以配合Cloudreve扩展文档预览/编辑为目的编写&#xff0c;OnlyOffice的其他用途未深入研究也不做探讨&#xff0c;仅使用WOPI能力。 硬件要求 镜像大小&#xff1a;2.91Gb或更大 …...

金钱卦起卦

前言 本文目的&#xff1a; 1.了解什么是《易经》 2.了解什么是八卦/六十四卦 3.金钱卦起卦方法 4.如何解卦 一、什么是易经&#xff1f; 1、易经就是一本书、一本著作 2、它的成书经历了三个阶段 第一阶段&#xff1a;在5000多年前&#xff0c;由人类的始祖伏羲通过观察时…...

学透Spring Boot 003 —— Spring 和 Spring Boot 常用注解(附面试题和思维导图)

这是 学透 Spring Boot 专栏 的第三篇&#xff0c;欢迎关注我&#xff0c;与我一起学习和探讨 Spring Boot 相关知识&#xff0c;学透 Spring Boot。 从面试题说起 今天我们通过一道和Spring Boot有关的常见面试题入手。 面试题&#xff1a;说说 Spring Boot 中有哪些常用注解…...

新能源汽车充电桩常见类型及充电桩站场的智能监管方案

随着新能源汽车市场的迅猛发展&#xff0c;充电桩作为支持其运行的基础设施&#xff0c;也呈现出多样化的类型。这些充电桩不仅在外形和功能上存在差异&#xff0c;更在充电速度、充电方式以及使用场景等方面展现出独特的优势。 一、充电桩类型及区别 1、慢充桩&#xff08;交…...

让工作自动化起来!无所不能的Python

文章目录 前言一、Python是办公自动化的重要工具二、Python是提升职场竞争力的利器三、Python是企业数字化的重要平台四、Python是AI发展的重要通道之一编辑推荐内容简介作者简介目录前言为什么要写这本书 读者对象如何阅读本书赠书活动 前言 随着我国企业数字化和信息化的深入…...

Facebook轮播广告是什么?投放过程中有哪些需要注意的吗?

轮播广告是Facebook广告形式中的一种&#xff0c;可以把3—5个广告合并到一个可滚动的广告单元中。轮播广告会出现在新鲜事即News Feed中&#xff0c;是独立站卖家常用的一种广告形式 为什么选择轮播广告&#xff1f; 转化率更高&#xff1a;相较于单图广告&#xff0c;轮播广…...

3、jvm基础知识(三)

如何判断堆上的对象没有被引用&#xff1f; 常见的有两种判断方法&#xff1a;引用计数法和可达性分析法。 引用计数法会为每个对象维护一个引用计数器&#xff0c;当对象被引用时加1&#xff0c;取消引用时减1。 引用计数法的优点是实现简单&#xff0c;缺点有两点&#xff1…...

leetcode414-Third Maximum Number

这道题目求第三大数&#xff0c;如果第三大数不存在则返回最大数&#xff0c;且该数字最大值不超过2^31-1。从这个提示上就可以看出这个数字是用int类型表示的。我们当然可以通过排序的方式先给数组排序然后很容易的就能求解。但是有没有什么更好的办法呢&#xff1f;对于数组来…...

解决Quartus与modelsim联合仿真问题:# Error loading design解决,是tb文件中没加:`timescale 1ns/1ns

解决Quartus与modelsim联合仿真问题&#xff1a;# Error loading design解决&#xff0c;是tb文件中没加&#xff1a;timescale 1&#xff0c;一直走下来&#xff0c;在modelsim中出现了下面问题2&#xff0c;rtl文件、tb文件2.1&#xff0c;rtl代码2.2&#xff0c;tb测试2.3&a…...

vue使用elementui组件的的对话框;使用ref

1.第一步&#xff0c;先在父组件中引用&#xff0c;设置ref的值 <el-dialog :visible.sync"dialogEditVisible"append-to-body width"1000px" title"编辑":close-on-click-modal"false"><dialog-edit v-if"dialogEditV…...

第十四届蓝桥杯(八题C++ 题目+代码+注解)

目录 题目一&#xff08;日期统计 纯暴力&#xff09;&#xff1a; 代码&#xff1a; 题目二&#xff08;01串的熵 模拟&#xff09;&#xff1a; 代码&#xff1a; 题目三&#xff08;治炼金属&#xff09;&#xff1a; 代码&#xff1a; 题目四&#xff08;飞机降落 深度…...

HTTP协议格式详解之报头(HTTP header)、请求正文(body)

在之前文章中我们已经介绍了HTTP的首行信息&#xff0c;HTTP协议格式详解之首行信息解析-CSDN博客这篇文章中我们继续介绍HTTP协议的报头部分。 一、报头(HTTP header) a&#xff09;请求头部&#xff08;Request Headers&#xff09;&#xff1a; Host&#xff1a;指定服务器…...

[yolox]ubuntu上部署yolox的ncnn模型

首先转换pytorch->onnx->param模型&#xff0c;这个过程可以查资料步骤有点多&#xff0c;参考blog.51cto.com/u_15660370/6408303&#xff0c;这里重点讲解转换后部署。 测试环境&#xff1a; ubuntu18.04 opencv3.4.4(编译过程省略&#xff0c;参考我其他博客) 安装…...

YOLOv9改进策略 :IoU优化 | 提出一种新的Shape IoU,更加关注边界框本身的形状和尺度,对小目标检测也很友好

💡💡💡本文改进:一种新的Shape IoU方法,该方法可以通过关注边界框本身的形状和尺度来计算损失,解决边界盒的形状和规模等固有属性对边界盒回归的影响。 💡💡💡对小目标检测涨点明显,在VisDrone2019、PASCAL VOC均有涨点 《YOLOv9魔术师专栏》将从以下各个方向进…...

如何使用KST指标进行多头交易,Anzo Capital一个条件设置

在之前的文章中&#xff0c;我们进行分享了以下知识&#xff1a;什么是KST指标&#xff0c;以及如何进行计算KST指标。有聪明的投资者就在后台进行咨询Anzo Capital昂首资本了&#xff0c;我们知道这些知识有什么用呢&#xff1f; 当然有用了&#xff0c;只要理解背后的逻辑知…...

【QT进阶】第十三章QT动画类的使用QAbstractAnimation

❤️作者主页:凉开水白菜 ❤️作者简介:共同学习,互相监督,热于分享,多加讨论,一起进步! ❤️专栏目录:【零基础学QT】文章导航篇 ❤️专栏资料:https://pan.baidu.com/s/192A28BTIYFHmixRcQwmaHw 提取码:qtqt ❤️点赞 👍 收藏 ⭐再看,养成习惯 订阅的粉丝可通过…...

【机器学习】揭秘无监督学习:机器如何自我学习发现数据奥秘

无监督学习&#xff1a;全面解析 引言 在机器学习的众多分支中&#xff0c;无监督学习因其在未标记数据上发现隐藏模式的能力而独树一帜。它不依赖于事先标记的输出&#xff0c;而是通过分析数据本身的结构和分布来揭示内在的关系和分类。本文深入探讨无监督学习的核心概念、…...

鸿蒙(HarmonyOS)ArkTs语言基础教程(大纲)

鸿蒙&#xff08;HarmonyOS&#xff09;ArkTs语言基础教程 简介 ArkTS 是鸿蒙生态的应用开发语言。它在保持 TypeScript&#xff08;简称 TS&#xff09;基本语法风格的基础上&#xff0c;对 TS 的动态类型特性施加更严格的约束&#xff0c;引入静态类型。同时&#xff0c;提…...

掌握未来商机:如何利用会话式AI赢在起跑线

AI智能助手&#xff1a;提升工作效率的秘密武器 在这个信息爆炸的时代&#xff0c;内容策略成为了品牌与用户之间沟通的重要桥梁。一个有效的内容策略能够帮助品牌提升知名度&#xff0c;建立与目标受众的深度连接&#xff0c;并最终实现转化目标。内容策略不仅涉及内容的创作与…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...