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字符串进行解密。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/786803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Memory Analyzer Tool使用教程

下载地址&#xff1a;https://eclipse.dev/mat/previousReleases.php 下载JDK8对应的MAT版本 使用jps查看pid jps 使用jmap生成heap dump文件 jmap -dump:formatb,live,filexxx.bin <pid> 使用MAT打开heap dump文件 查看GC Roots

【Linux入门】Linux简史

Linux 是什么&#xff1f;Linux 是一款叫做操作系统的软件。 操作系统这款软件有什么样的意义呢&#xff1f;简单来说&#xff0c;比如有顾客买了一台笔记本电脑&#xff0c;这台笔记本电脑由电脑硬件组成&#xff0c;在这堆硬件上一定搭载了一款操作系统。正因为操作系统存在&…

ssm013小型企业办公自动化系统的设计和开发+vue

小型企业办公自动化系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对小型企业办公信息管理混乱&am…

git删除某次commit的代码

这里写目录标题 1.问题背景2.问题拆解尝试&#xff1a;a.使用git reset --hard HEAD &#xff08;不行&#xff0c;局限性太大&#xff09;尝试&#xff1a;b.使用git rebase -i HEAD &#xff08;可以&#xff0c;但push -f不太友好&#xff09;尝试&#xff1a;c.使用git rev…

C语言中,`while` 和 `for` 的区别

在C语言中&#xff0c;while 和 for 是两种循环结构&#xff0c;它们的作用是执行一段代码多次&#xff0c;直到满足某个条件为止。虽然它们可以互相替代&#xff0c;但通常根据具体的情况选择使用其中之一。 **区别&#xff1a;** 1. **语法结构&#xff1a;** - while 循…

ETL工具-nifi干货系列 第六讲 处理器JoltTransformJSON

1、处理器作用 使用Jolt转换JSON数据为其他结构的JSON,成功的路由到success,失败的failure。处理JSON的实用程序不是基于流的&#xff0c;因此大型JSON文档转换可能会消耗大量内存。 Jolt&#xff1a;JSON 到 JSON 转换库&#xff0c;用 Java 编写&#xff0c;其中转换的 &qu…

5.103 BCC工具之filegone.py解读

一,工具简介 filegone 追踪文件消失的原因,无论是被删除还是被重命名。 二,代码示例 #!/usr/bin/pythonfrom __future__ import print_function from bcc import BPF import argparse from time import strftime# arguments examples = """examples:./fil…

LINUX笔记温习

目录 DAY1 DAY2 day3&#xff1a; day4 day5 day6 day7 day8 day9 day10 day11 day12 day13 day14 day15 20day DAY1 1、多层级文件夹创建要带-p&#xff1b; 2、创建多文件&#xff0c;要先到该目录下才能创建(第一个目录必须存在才能有效建立)&#xff1b; D…

Golang 内存管理和垃圾回收底层原理(二)

一、这篇文章我们来聊聊Golang内存管理和垃圾回收&#xff0c;主要注重基本底层原理讲解&#xff0c;进一步实战待后续文章 垃圾回收&#xff0c;无论是Java 还是 Golang&#xff0c;基本的逻辑都是基于 标记-清理 的&#xff0c; 标记是指标记可能需要回收的对象&#xff0c…

2023年EI会议论文已见刊/检索进展汇总

2023年录用的会议论文已在SPIE、ACM、IEEE等出版社正式上线见刊&#xff0c;并已陆续完成EI Compendex数据库收录&#xff0c;详情如下&#xff1a; EIECT 2023——IEEE出版&#xff0c;并完成EI收录 会议信息&#xff1a; 第三届电子信息工程与计算机技术国际学术会议&…

深入浅出 Drools 规则引擎

目录 一、规则引擎简介 1.1 应用场景 1.2 Drools 规则引擎的特点 二、规则引擎集成 三、核心概念 3.1 规则文件的组成 3.2 模式匹配 3.2 规则属性 一、规则引擎简介 规则引擎是一种软件系统组件&#xff0c;设计目的是将业务决策逻辑从应用程序的主流程中解耦出来&#xff0…

SHELL(05)

SHELL(04) [ awk ] awk 编程语言 / 数据处理引擎 创造者的缩写是 : A,W,K 基于模式匹配检查输入文本 , 逐行处理并输出 通常用于Shell脚本中 , 获取指定的数据 单独使用时 , 可对文本数据做统计 grep 简单易用 , 功能少只能查 sed 功能齐全 , 搜索精度低 # 逐行处理 aw…

探索使用对比损失的孪生网络进行图像相似性比较

点击下方卡片&#xff0c;关注“小白玩转Python”公众号 简介 在计算机视觉领域&#xff0c;准确地测量图像相似性是一项关键任务&#xff0c;具有广泛的实际应用。从图像搜索引擎到人脸识别系统和基于内容的推荐系统&#xff0c;有效比较和查找相似图像的能力非常重要。Siames…

QA测试开发工程师面试题满分问答3: python的深拷贝和浅拷贝问题

在 Python 中&#xff0c;深拷贝&#xff08;deep copy&#xff09;和浅拷贝&#xff08;shallow copy&#xff09;是用于创建对象副本的两种不同方式。 浅拷贝是创建一个新的对象&#xff0c;该对象与原始对象的内容相同&#xff08;包括内部嵌套对象的引用&#xff09;&…

Higress 基于自定义插件访问 Redis

作者&#xff1a;钰诚 简介 基于 wasm 机制&#xff0c;Higress 提供了优秀的可扩展性&#xff0c;用户可以基于 Go/C/Rust 编写 wasm 插件&#xff0c;自定义请求处理逻辑&#xff0c;满足用户的个性化需求&#xff0c;目前插件已经支持 redis 调用&#xff0c;使得用户能够…

Day4:学习尚上优选项目

学习计划&#xff1a;完成尚硅谷的尚上优选项目 学习进度&#xff1a;尚上优选项目 知识点&#xff1a; 四、 搭建平台管理端前端环境 区域管理模块 代码生成器需求分析区域管理表设计搭建环境开发区域管理接口 整合nginx 安装nginx配置nginx功能测试 商品信息管理模块 需…

LeetCode刷题:无重复字符的最长子串 详解 【3/1000 第三题】

&#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 作者专栏每日更新&#xff1a; LeetCode解锁1000题: 打怪升级之旅 LeetCode解锁1000题: 打怪升级之旅htt…

【THM】Active Reconnaissance(主动侦察)-初级渗透测试

介绍 在网络安全模块的第一个房间里,我们主要进行被动侦察。在第二个房间中,我们重点关注主动侦察以及与之相关的基本工具。我们学习使用网络浏览器来收集有关我们目标的更多信息。此外,我们讨论使用简单的工具(例如ping、traceroute、telnet和 )nc来收集有关网络、系统和…

centos7 安装 nginx

一、yum 方式安装 1.安装yum工具 sudo yum install yum-utils 2. 安装epel yum install epel-release 3.安装nginx&#xff1a; yum install nginx 4.查看版本 nginx -v 5.设置开机自启动 systemctl enable nginx nginx 常用命令&#xff1a; 1&#xff09;启动nginx …

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

题目&#xff1a;给一个不多于5位的正整数&#xff0c;要求&#xff1a;一、求它是几位数&#xff0c;二、逆序打印出各位数字。 There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog co…