MySQL函数大全

article/2025/10/11 2:26:58

目录

(一)字符函数

①length(str)函数

②concat(str1,str2,...)函数

③upper(str)、lower(str)函数

④substr(str,start,len)函数

⑤instr(str,要查找的子串)函数

⑥trim(str)函数

⑦lpad(str,len,填充字符)、rpad(str,len,填充字符)函数

⑧replace(str,子串,另一个字符串)函数

(二)数学函数

①round(x,保留位数)函数

②ceil(x)函数

③floor(x)函数

④truncate(x,D)函数

⑤mod(被除数,除数)函数

⑥pow(x,D)函数

 (三)时间与日期函数

①日期格式

②now()函数

③curdate()函数

④curtime()函数

⑤获取日期和时间中的年、月、日、时、分、秒

⑥weekofyear()函数

⑦ quarter()函数

⑧ str_to_date()函数

⑨date_format()函数

 ⑩date_add(日期,interval num 时间)函数

⑪last_day()函数

 ⑫datediff(end_date,start_date)函数

⑬timestampdiff(unit,start_date,end_date)函数计算两个时间返回的年/月/天数;

 (四) 流程操作函数

①if(expr,v1,v2)函数

 ②ifnull()函数

③case…when函数的三种用法

④DISTINCT去重

 (五)系统信息函数

①version()函数

②connection_id()函数

③processlist

 ④database(),schema()函数

⑤user(),current_user(),system_user()函数

⑥charset()函数

 ⑦collation()函数

 (六) 其他函数

①FORMAT(x,y)函数

②md5(str)函数 加密函数;

 ③encode(str,pswd_str)、decode(加密的字符串,pswd_str)函数

(七)聚合函数

①功能与分类

②聚合函数的传入参数,数据类型


(一)字符函数

①length(str)函数

获取参数值的字节个数

对于utf-8字符集来说,一个英文占1个字节;一个中文占3个字节;

对于gbk字符集来说,一个英文占1个字节;一个中文占2个字节;

演示如下:

select length('关注作者') as 长度 from dual;

②concat(str1,str2,...)函数

将字符串拼接,通过输入的参数str1、str2等,将他们拼接成一个字符串。

演示如下:

select concat('作者','-','XianBro') as 作者信息 from dual;

③upper(str)、lower(str)函数

upper(str):将字符中的所有字母变为大写

lower(str)将字符中的所有字母变成小写

演示如下:

select upper('xianbro') as 大写 from dual; select lower('XIANBRO') as 小写 from dual;

④substr(str,start,len)函数

str为输入字符串,从start位置开始截取字符串,len表示要截取的长度; 没有指定len长度:表示从start开始起,截取到字符串末尾。指定了len长度:表示从start开始起,截取len个长度。

select substr('想学习SQL就关注博主xianBro',2,10) as 截取输出 from dual;

注:2是开始位置,此处起始位置为‘学’所对应的位置是1,这和编程语言中的0为起始位置不一样。

此外8是开始到结束位置的长度,并不是索引的结束位置,这很容易和Python的索引弄错

⑤instr(str,要查找的子串)函数

返回子串第一次出现的索引,如果找不到,返回0; 当查找的子串存在于字符串中:返回该子串在字符串中【第一次】出现的索引。当查找的子串不在字符串中:返回0。

演示如下:

select instr('学SQL就关注博主xianbro','关注') as 第一次出现 from dual;

⑥trim(str)函数

去掉字符串前后的空格; 该函数只能去掉字符串前后的空格,不能去掉字符串中间的空格。

演示如下:

select trim(' 学SQL就 关注博主 xianbro ') as 空格去除 from dual;

 

⑦lpad(str,len,填充字符)、rpad(str,len,填充字符)函数


lpad(左填充):用指定的字符,实现对字符串左填充指定长度

rpad(右填充):用指定的字符,实现对字符串右填充指定长度

select lpad('编程秃头',10,'tu') as out_put from dual;
select rpad('编程秃头',10,'tu') as out_put dual;

  注:这里的填充len指的是用填充字符填充后的总长度,也就是若你的len选择5你的字符串含有位置为4则只能填充一个字符,也就是填充字符的第一个字符。

⑧replace(str,子串,另一个字符串)函数

将字符串str中的字串,替换为另一个字符串

演示如下:

select replace(NAME,'符兴','符强') as 替换之后 from tb_teacher;

 

(二)数学函数

①round(x,保留位数)函数


四舍五入; 当对正数进行四舍五入:按照正常的计算方式,四舍五入即可。当对负数进行四舍五入:先把符号丢到一边,对去掉负号后的正数进行四舍五入,完成以后,再把这个负号,补上即可。

演示如下:

select round(1.595658,3) as out_put from dual;

 

②ceil(x)函数

向上取整,返回>=该参数的最小整数。求的是大于等于这个数字的最小整数

演示如下:

select ceil(1.9) as out_put from dual;
​​​​​​​select ceil(1.1) as out_put from daul;

③floor(x)函数

向下取整,返回<=该参数的最大整数,求的是小于等于这个数字的最大整数。

演示如下:

select floor(1.99) as out_put from dual;
select floor(1.1) as out_put from dual;

 

④truncate(x,D)函数


此函数叫截断函数,顾名思义就是就是截取不要的部分,然后删掉(断掉)它。在小数点的D位置处,截取数字直接删去数字,若在左边就是位置取整不使用任何法则。

这个函数理解起来也不难,我们把truncate当作小数点(.)x是要截取的数字。D为正数时是小数点的右侧部分,D为0时则不要小数部分,D为负数时是小数点左边部分,具体使用看例子演示。

演示如下:

select truncate(314159.2673525,5) as 截取之后 from dual;
select truncate(314159.2673525,0) as 截取之后 from dual;
select truncate(314159.2673525,-4) as 截取之后 from dual;

 

mod(被除数,除数)函数

取余; 当被除数为正数,结果就是正数。当被除数为负数,结果就是负数。

演示如下:

select mod(10,3) as out_put from dual;

⑥pow(x,D)函数

此函数是用于计算指数函数,x为底,D为指数

演示如下:

select pow(5,2) as 平方运算 from dual;

 

 (三)时间与日期函数

①日期格式

DATE_FORMAT("20000101", '%Y-%m-%d') -- 2020-01-01
DATE_FORMAT("2000-01-01", '%Y-%m-%d') -- 2020-01-01
DATE_FORMAT('2000-05-07 05:06:07', '%H:%i:%s') -- 05:06:07 (24小时制)
DATE_FORMAT('2000-05-07 05:06:07', '%h:%i:%s') -- 05:06:07 (12小时制)
DATE_FORMAT('2000-05-07 05:06:07', '%Y-%m-%d %H:%i:%s') -- 2000-05-07 05:06:07

日期的含义:指的是我们常说的年、月、日。

时间的含义:指的是我们常说的时、分、秒。

补充时间格式符含义表

序号格式符  含义
1 %Y 四位的年份
2%y 2位的年份
3 %m月份(01,02,..11,12)
4%c月份(1,2,3...11,12)
5 %d 日(01,02,...)
6%H 小时(24小时)
7 %h 小时(12小时)
8%i分钟(00,01,...59)
9 %s   秒(00,01,...59)


②now()函数


返回当前系统的日期和时间

演示如下:

select now() as 当前时间 from dual;

 

③curdate()函数

只返回系统当前的日期,不包含时间

演示如下:

select surdate() as 当前日期;

 

④curtime()函数

只返回当前的时间,不包含日期

演示如下:

⑤获取日期和时间中的年、月、日、时、分、秒

获取年份:year()

获取月份:month()

获取日:day()

获取小时:hour()

获取分钟:minute()

获取秒数:second()

⑥weekofyear()函数

获取当前时刻所属周数

演示如下:

 

⑦ quarter()函数

获取当前时刻所属的季度

⑧ str_to_date()函数

将日期格式转换为字符串,转换成指定格式的日期

⑨date_format()函数

将日期转换成日期字符串

 ⑩date_add(日期,interval num 时间)函数

向前、向后偏移日期和时间,正号为向后,负号为向前,除此之外还有hour(小时),minute(分钟),second(秒)

 

 

⑪last_day()函数

提取某个月最后一天的日期

 ⑫datediff(end_date,start_date)函数

计算两个时间相差的天数

演示如下:

⑬timestampdiff(unit,start_date,end_date)函数
计算两个时间返回的年/月/天数;

unit参数是确定(start_date,end_date)结果的单位,表示为整数,以下是有效单位:

year:年份、month:月份、day:天、hour:小时、minute 分钟、second:秒、microsecond:微秒、week:周数、quarter:季度

 (四) 流程操作函数

 

①if(expr,v1,v2)函数

实现if-else的效果,如果expr是true,返回v1。如果expr是false,返回v2

演示如下

 

 ②ifnull()函数

判断值是否为null,是null用指定值填充;如果v1不为NULL,返回v2。否则返回v1

 

case…when函数的三种用法

1.等值判断:可以实现多条件的查询值赛选;

case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1
when 常量2 then 要显示的值2或语句2
...
else 要显示的值n或语句n
end

2.区间判断:类似于python中if-elif-else的效果;

case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2
...
else 要显示的值n或语句n
end

 

3.case … when和聚合函数联用;

此处的实例,作者引用网上的一个例子进行举例

 

④DISTINCT去重

distinct是用于去重,但是只能放在查询字段的开头:

select username,distinct pwd from user //会报错!!!只能放在username前

 (五)系统信息函数

①version()函数

查看MySQL系统版本信息号

②connection_id()函数

查看当前登入用户的连接次数数

直接调用CONNECTION_ID()函数--不需任何参数--就可以看到当下连接MySQL服务器的连接次数,不同时间段该函数返回值可能是不一样的

③processlist

查看用户的连接信息

 

Id列:登录MySQL的用户标识,是系统自动分配的CONNECTION ID;

User列:显示当前的“用户名”;

Host列:显示执行这个语句的IP,用来追踪出现问题语句的用户;

db列:显示这个进程目前连接的是哪个数据库;

Command列:显示当前连接执行的命令,一般是休眠(Sleep)、查询(Query)、连接(Connect);

Time列:显示这个状态持续的时间,单位是秒;

State列:显示使用当前连接的SQL语句的状态,包含有:Copying to tmptable、Sorting result、Sending data等状态;

Info列:显示当前SQL的内容,如果语句过长可能无法显示完全。

 ④database(),schema()函数

查看当前使用的数据库

 

⑤user(),current_user(),system_user()函数

获取当前用户

⑥charset()函数

使用CHARSET()函数返回字符串使用的字符集

 ⑦collation()函数

使用COLLATION()函数返回字符串排列方式

 (六) 其他函数

①FORMAT(x,y)函数

把x格式化为以逗号隔开的数字序列,y是结果的小数位数。

②md5(str)函数 加密函数;

参数为字符串,该函数为字符串算出一个MD5 128比特校验和
返回值以32位16进制数字的二进制字符串形式返回
str为NULL,返回NULL

 

 ③encode(str,pswd_str)、decode(加密的字符串,pswd_str)函数


加密:encode(被加密的密码,密码);

解密:decode(encode(被加密的密码,密码),密码);   //也可以用上面返回的二进制字符串

(七)聚合函数

①功能与分类

功能:用作统计使用,又称为聚合函数或统计函数或组函数

分类:sum 求和avg 平均值max 最大值min 最小值count 计算个数

 

②聚合函数的传入参数,数据类型


1、sum()函数和avg()函数:传入整型/小数类型才有意义;

2、sum()函数和avg()函数对于字符串类型、日期/时间类型的计算都没有太大意义。因此,sum()函数和avg()函数,我们只用来对小数类型和整型进行求和。跳过空值行。

3、max()函数和min()函数:传入整型/小数类型、日期/时间类型意义较大

4、可以传入任何数据类型,但是碰到null要注意,空值跳过,不计数。

注;sum()/count(*)方法计算平均值时,有时候得到的结果和AVG()函数不一定一样。当存在某计算列空值但其他列不是空值的时候就会出现不一样的结果,因为分母count(*)并没有跳过空值列。


原文链接:https://blog.csdn.net/Sheenky/article/details/125142451

 

 

  

 

 

 

 


http://chatgpt.dhexx.cn/article/TPniYiny.shtml

相关文章

MySQL函数(经典收藏)

MySQL函数&#xff08;经典收藏&#xff09; MySQL函数 MySQL数据库提供了很多函数包括&#xff1a; 数学函数&#xff1b;字符串函数&#xff1b;日期和时间函数&#xff1b;条件判断函数&#xff1b;系统信息函数&#xff1b;加密函数&#xff1b;格式化函数&#xff1b; …

MySql常用函数大全(详细)

一、数学函数 &#xff08;1&#xff09;ABS&#xff08;x&#xff09;返回绝对值&#xff1b;例&#xff1a; &#xff08;2&#xff09;PI&#xff08;&#xff09;返回圆周率的函数&#xff0c;默认值为小数后六位&#xff1b;例&#xff1a; &#xff08;3&#xff09;求函…

齐全且实用的MySQL函数使用大全

目录 一、MySQL函数介绍 二、MySQL函数分类 &#xff08;一&#xff09;单行函数 ①字符串函数 ②数学函数 ③日期函数 ④流程控制函数 ⑤系统信息函数 ⑥其他函数 &#xff08;二&#xff09;聚合函数 三、函数使用示例 &#xff08;一&#xff09;字符函数 ①le…

sql注入的小工具介绍

sql注入的小工具介绍 啊D注入工具&#xff1a; pangolin&#xff08;穿山甲&#xff09; 穿山甲&#xff1b;Pangolin&#xff08;中文译名为穿山甲&#xff09;一款帮助渗透测试人员进行Sql注入测试的安全工具&#xff0c;是深圳宇造诺赛科技有限公司(Nosec)旗下的网站安全测…

sql注入检测工具 mysql_SQL注入测试

简介 SQL 注入是一种专门针对SQL语句的攻击方式。通过把SQL命令插入到web表单提交、输入域名或者页面请求的查询字符串中&#xff0c;利用现有的程序&#xff0c;来非法获取后台的数据库中的信息。在web的测试中涉及到的会比较多些。 注入原理 存在注入的原因是后台在编写程序时…

mysql注入扫描网站漏洞工具_网站安全检测,高手必备几款SQL注入工具

按照百度说法&#xff0c;SQL注入是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器执行恶意的SQL命令。 利用SQL注入&#xff0c;攻击者可远程利用SQL注入漏洞&#xff0c;窃取用户数据库数据&#xff0c;包括用户名、密码、登…

3-5SQL注入漏洞工具的使用

如果我们要去找出&#xff0c;一个网站中可能存在的所有漏洞&#xff0c;那对于我们而言是相当累的&#xff0c;有时候&#xff0c;我们只能借助于sql注入漏洞的工具&#xff0c;进行检测&#xff0c;检测的工具对我们相当重要&#xff0c;因为他能替代人工和提高效率 我们本篇…

sql注入检测工具 mysql_Java自动化SQL注入测试工具—jSQL Injection v0.5

jSQL是一款轻量级安全测试工具&#xff0c;可以检测SQL注入漏洞。它跨平台(Windows, Linux, Mac OS X, Solaris)、开源且免费。 更新记录 0.5SQL shell Uploader 0.4 Admin page checker and preview Brute forcer (md5 mysql...) Coder (encode decode base64 hex md5...) 0.3…

sql注入工具、检测及手工注入集合

0x01 sqlmap sqlmap是一个开源渗透测试工具&#xff0c;它可以自动检测和利用SQL注入缺陷&#xff0c;并接管数据库服务器。它配备了强大的检测引擎&#xff0c;为最终渗透测试提供了许多细分功能&#xff0c;以及广泛的交换机&#xff0c;从数据库指纹、从数据库获取数据&…

sql 注入工具

众所周知&#xff0c;SQL注入攻击是最为常见的Web应用程序攻击技术。同时SQL注入攻击所带来的安全破坏也是不可弥补的。以下罗列的10款SQL工具可帮助管理员及时检测存在的漏洞。 BSQL Hacker BSQL Hacker是由Portcullis实验室开发的&#xff0c;BSQL Hacker 是一个SQL自动注入工…

sql注入 学习笔记

学习来源视频&#xff1a;https://www.bilibili.com/video/BV1HT411E7bH?p1&vd_source91ac068ef47e260a09856e8db81907c9 什么是sql注入 sql注入又称sql injection&#xff0c;通过网页或者网络指令的方式修改原本的sql指令&#xff0c;从而从数据库中查询的敏感的信息。…

Java 防止 SQL 注入工具类

2019独角兽企业重金招聘Python工程师标准>>> package cn.manmanda.api.util;import javax.servlet.http.HttpServletRequest;/*** 防止SQL注入工具类* author * date 2017/12/29 15:39*/ public class AntiSQLInjectionUtil {// public final static String regex …

java防止SQL注入

前言 这里常用的方法就不说了&#xff0c;#{}预编译不说&#xff0c;但是如果我们不得不用${}来传递参数&#xff0c;那就有点麻烦了&#xff0c;另外&#xff0c;一般我们会用到druid自带的sql注入过滤&#xff1a; 但是经过测试发现&#xff0c;这个方法并不能完全屏宾sql注…

Pangolin-最好的SQL注入工具

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 点击这里使用RSS订阅本Blog: <script type="text/javascript" src="…

sql注入工具--Sqlmap

Sqlmap是一款自动化sql注入的工具&#xff0c;其功能强大&#xff0c;支持多种数据库&#xff0c;包括mysql&#xff0c;sqlserver等主流的数据库&#xff0c;采用独特的sql注入方法来达到自动化注入扫描漏洞的目的。 1&#xff09;基于布尔的盲注&#xff08;Type:boolean-bas…

宁浩网sql注入工具_国产SQL注入漏洞测试工具 - 超级SQL注入工具(SSQLInjection)...

此工具为本人对C#、Socket及HTTP协议、SQL注入进行深入研究后&#xff0c;闲暇时间做的一款SQL注入工具。不说秒SQLMap&#xff0c;直接秒杀什么webcruiser、Safe3SI、pangolin、havij、DSQLTools、明小子等&#xff0c;今后可以扔掉这些过时的工具了。 简介超级SQL注入工具(SS…

SQL注入工具-----sqlmap

sqlmap中的一些常见的命令&#xff1a; -h,–help 显示基本的帮助信息并退出 -hh 显示高级帮助信息并退出 –version 显示程序版本信息并退出 -u 目标URL -m 后接一个txt文件&#xff0c;文件中是多个url&#xff0c;sqlmap会自动化的检测其中的所有url -r 可以将一个post请求…

SQL注入工具

众所周知&#xff0c;SQL注入攻击是最为常见的Web应用程序攻击技术。同时SQL注入攻击所带来的安全破坏也是不可弥补的。以下罗列的10款SQL注入工具可帮助管理员及时检测存在的漏洞。 BSQL Hacker 10个SQL注入工具 BSQL Hacker是由Portcullis实验室开发的&#xff0c;BSQL Hacke…

mysql sql注入工具下载_超级SQL注入工具【SSQLInjection】

简介&#xff1a; 超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注入工具&#xff0c;支持出现在HTTP协议任意位置的SQL注入&#xff0c;支持各种类型的SQL注入&#xff0c;支持HTTPS模式注入。 超级SQL注入工具 (已更新beta15) 超级SQL注入工具(SSQLInjection…

mysql sql注入工具下载_sql注入工具下载|超级SQL注入工具SSQLInjectionv1.0 正式版 附使用说明 - 极光下载站...

超级SQL注入工具正式版下载。超级SQL注入工具虽然有一定的历史了&#xff0c;但是超级SQL注入工具还是一样的强悍&#xff01;超级SQL注入工具适用于Web渗透的朋友&#xff01; 超级SQL注入工具简介&#xff1a; 超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注…