MySQL常用的几种函数你知道嘛?

Mysql常用函数 总结了一些Mysql常用函数方法,希望对大家有帮助! 阅读详情

字符串函数

常用的字符串函数有 concat(S1,S2,..Sn) , lower(str) , upper(str) ,lpad(str,n,pad) , rpad(str,n,pad) ,trim(str) , substring(str,start,len)

小括号里面是函数的参数

功能 :

concat(S1,S2,..Sn) 字符串拼接,将(S1,S2,..Sn)拼接成一个字符串

lower(str) 将字符串str全部转为小写

upper(str)  将字符串str全部转为大写

lpad(str,n,pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度

rpad(str,n,pad) 右填充,用字符串pad对str的右边进行填充,达到n个字符串长度

trim(str)  去掉字符串头部和尾部的空格

substring(str,start,len)  返回从字符串str从start位置起的len个长度的字符串(也就是截取字符串)

代码演示: 

-- concat(s1,s2,..sn) 字符串拼接
select concat('hello','mysql');

-- lower(str) 字符串全部转为小写
select lower('HELLO');

-- upper(str) 字符串全部转为大写
select upper('hello');

-- lpad(str,n,pad) 左填充 ---01
select lpad('01',5,'-');

-- rpad(str,n,pad) 右填充  01---
select rpad('01',5,'-');

-- trim(str) 去掉字符串头部和尾部的空格
select  trim(' hello mysql ');

-- substring(str,start,len) 字符串截取 这里下标是从1开始的
select substring('hello mysql',1,5);

-- 1.由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0,比如,1号员工的工号应该为00001。
update emp1 set workon = lpad(workon,5,'0');

数值函数

常见的数值函数如下:

              函数                                                           功能  

           ceil(x)                                                        向上取整

           floor(x)                                                      向下取整

           mod(x,y)                                                   返回x/y的模

           rand()                                                       返回0~1内的随机数

           round(x,y)                                                求参数x的四舍五入的值,保留y位小数 

代码演示: 

-- 数值函数
-- ceil (x)  向上取整  -- 2
select ceil(1.1);

-- floor (x) 向下取整 -- 2
select floor(2.9);

-- mod 取模
select mod(6,4);

-- rand 放回0~1的随机数
select rand();

-- round(x,y)  求参数x 的四舍五入的值 保留y位小数
select round(2.345,2);

-- 案例: 通过数据库函数,生成一个六位数的随机验证码
select lpad(round(rand()*1000000,0),6,0) ;

select lpad( round( rand()*1000000 , 0 ),6 ,'0');

日期函数

常见的日期函数如下:

              函数                                                           功能  

           curdate()                                                  返回当前日期

           curtime()                                                  返回当前时间

           now()                                                        返回当前日期和时间

           year()                                                        获取指定date的年份

           month(date)                                             获取指定date的月份

           day(date)                                                  获取指定date的日期

           date_add(date,interval  expr  type) 

 返回一个日期/时间值加上一个时间间隔 expr 后的时间值(理解不了没关系,到代码演示你就懂了)

          datediff(date1,date2)

返回起始时间 date1 和 结束时间 date2 之间的天数 

代码演示: 

-- 日期函数
-- curdate 返回当前日期
select curdate();

-- curtime 返回当前时间
select curtime();

-- now() 返回当前日期和时间
select  now();

-- year month day
select year(now());

select month(now());

select day(now());

-- date_add (date,interval expr type) 往后推迟 70 个月
select date_add(now(),interval 70 month );

-- datediff(date1,date2) 相差天数
select  datediff('2022-4-18','2001-12-2');

-- 查询所有员工的入职天数,并根据入职天数倒叙排序
select name,datediff(curdate(),entrydate) as 'entrydates'from emp1 order by entrydates desc ;

 流程函数

流程函数也是常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率

常见的数值函数如下:

              函数                                                           功能  

           if(value,true,false)                           如果value为真,则返回true,否则返回false

           if null(value1,value2)                       如果value1不为空,返回value1,否则返value2

           case  when [val1]  then   [res1]  ...  else  [default]    end

           如果 valtrue ,返回 res1 , ... 否则返回 default 默认值

代码演示: 

-- 流程函数
-- if(value,t,f) 如果value 为真,则返回t,否则返回f
select  if(true,'OK','error');

-- ifnull(value1,value2) 如果value1不为空,返回value1,否则返回value2
select ifnull('ok','Default');

select ifnull(' ','Default');

select ifnull(null,'Default');

-- 案例: 统计班级各个学员的成绩,展示的规则如下:
-- >=85 , 展示优秀
-- >=60 , 展示及格
-- 否则, 展示不及格

create table score(
    id int comment 'ID',
    name varchar(20) comment '姓名',
    math int comment '数学',
    english int comment '英语',
    language int comment '语文'
)comment '学员成绩表';

insert into score(id, name, math, english, language) VALUES
(1,'张三',67,88,95),(2,'李四',23,66,90),(3,'王五',56,98,76);

select
       id,
       name,
       (case when math>=85 then '优秀' when math>=60 then '及格' else '不及格' end) '数学',
        (case when english>=85 then '优秀' when english>=60 then '及格' else '不及格' end) '英语',
        (case when language>=85 then '优秀' when language>=60 then '及格' else '不及格' end) '语文'
from score;

 总结:

   

    总结图片来自黑马程序员,如有侵权,立马删除!制作文章不易,如果本篇文章对你有所帮助,可以点赞收藏加关注哦,你们的关注是对小编最大的支持!!!

                            

第19讲:MySQL常用几种流程控制函数以及基本使用 思路:首先考虑取那些字段,所有字段都可以取出来,因为没有几个,学号可取可不取,这里取吧,由于是判断各科成绩达标类型的需求,那么流程函数一定是在ywcj、sxcj、yycj三个字段进行条件过滤,以语文成绩为例,首先判断ywcj大于等于90分的数据,标记为优秀,然后判断ywcj大于等于80并且小于90的数据,标记为良好,然后判断ywcj大于等于60并小于80的数据,标记为及格,其余的都是60分以下,标记为不及格。查询结果如下,上海的都归类为魔都,北京的都归类为首都,其他城市归类为一线城市。 阅读详情

相关推荐

MySQL基础之函数/MySQL函数

MySQL函数 函数是指一段可以直接被另一段程序调用的程序或代码。 字符串函数 函数 功能 CONCAT(S1,S2,...Sn) 字符串拼接,将S1,S2,...Sn拼接成一个字符串 LOWER(str) 将字符串str全部转为小写 UPPER(str) 将字符串str全部转为大写 LPAD(str,n,pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度 RPAD(str,n,pad) 右填充,用字符串pad对str的

weixin_54485193的博客 341

MySQL 【字符串】函数大全(三)

如果是正数,则从字符串的开头开始提取子字符串。如果是负数,则从字符串的结尾提取子字符串。返回一个字符串在另一个字符串中第一次出现的位置的数字索引。一个字符串在另一个字符串中第一次出现的位置的数字索引。删除指定字符串的左侧空格,并返回没有左侧空格的字符串。在字符串的左侧填充指定的字符串,使其达到指定的长度;返回一个字符串中从指定位置开始的指定长度的子字符串。将字符串中出现的所有子字符串替换为新的子字符串。将指定的字符串重复指定的次数并返回。被用来填充到原字符串左侧的字符串。从中提取子字符串的原字符串。

hk000001的博客 729

09_MySQL常见函数

适合新手小白的MySQL入门笔记,也适合作为学完MySQL之后的复习笔记,后续会继续更新相关内容

qq_41781632的博客 211

Mysql常见函数及其用法

这篇文章主要讲解mysql常见函数的用法和意义,包括字符串函数、数值函数、日期函数、流程函数

m0_37742400的博客 759

MySQL中常见的四种操作字符串的方法

select substr(参数1,参数2,参数3) from 表名。delimiter来确定获取的是分隔符那一部分的值,注意:mysql中的start是从1开始的。需要进行搜索的分隔符。

Long_1979的博客 1846

MySQL常用函数

MySQL函数MySQL数据库提供的内置函数。这些内置函数可以帮助用户更加方便地处理表中的数据。内置函数主要有。本篇主要介绍一些常用函数

qq_55755280的博客 8363

MYSQL常用函数总结

第一部分 MYSQL常用函数 (PS:总结的有点潦草,适合有一定基础的总结性学习) 一、排序函数 RANK():1,1,3 在计算排序时,若存在相同的位次,会跳过之后的位次 DENSE_RANK():1,1,2 在计算排序时,若存在相同的位次,不会跳过之后的位次 ROW_NUMBER():1,2,3 这个函数赋予唯一的连续位次 二、日期函数 DATEDIFF(data1,date2):date1-date2 DATE_FORMAT(date,format):日期格式转换 TI

LuoMin2523的博客 9293

MySQL常用函数

MySQL常用函数 一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILI...

小麦苗DBA宝典 4926

MySQL常用函数

本文全面介绍MySQL常用函数,涵盖数值处理、字符串操作、日期时间、聚合、条件判断、系统信息和高级功能。主要内容包括: 数据类型处理:转换函数,处理函数,以及最大值最小值函数 字符串操作:拼接、截取、修剪、替换、长度计算和大小写转换;数值处理:四舍五入、截断、绝对值、取整、取模和随机数;日期时间:当前时间获取、格式化、日期差值计算和日期加减;高级功能:JSON处理函数和窗口函数。文章提供具体语法和示例,适合快速查询各类MySQL函数用法。

m0_62967939的博客 1120

MySQL函数大全,MySQL常用函数汇总

MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。 MySQL 包含了大量并且丰富的函数,这套 MySQL 函数大全只收集了几十个常用的,剩下的比较罕见的函数我们就不再整理了,读者可以到「MySQL 官网」查询。 可以对 MySQL 常用函数进行简单的分类,大概包括数值型函数、字符串型函数、日期时间函数、聚合函数等。 MySQL 数值型函数 函数名称 作 用...

Java开发工程师,专注微服务、分布式系统,部署运维,分享实战经验和源码解析。 1928

MySQL常用几种函数

在学习MySQL时,掌握常用几种函数会有很大帮助。 mysqli_connect函数mysqli_connect(host,username,password,dbname,port,socket); 可用来连接数据库。 mysqli_query 函数: 该函数被用来来创建或者删除 MySQL 数据库; 该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE; mysqli_que...

IT_jishuyuan的博客 454

MySQL常用函数

MySQL提供了丰富的函数,用于处理各种数据类型,包括数值、字符串、日期和时间等。这些函数可以帮助用户进行复杂的数据操作,提高数据查询的效率和灵活性。

学习和分享 1820

MySQL函数大全 MySQL常用函数汇总

MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。MySQL 包含了大量并且丰富的函数,这套 MySQL 函数大全只收集了几十个常用的,剩下的比较罕见的函数我就不再整理了,有需要的读者可以到「MySQL 官网」查询。可以对 MySQL 常用函数进行简单的分类,大概包括数值型函数、字符串型函数、日期时间函数、聚合函数等。

梁辰兴的博客 1804

mysql常用语句与函数

摘要:本文详细介绍了MySQL查询语句中各个子句的执行顺序(FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT)及各子句的功能特点。重点解析了WHERE条件筛选、GROUP BY分组聚合、HAVING二次过滤、DISTINCT去重、ORDER BY排序等核心语法,并提供了数值/日期/分支函数的使用方法。文中还涵盖窗口函数、关联查询(内/外/交叉连接)及UNION操作,最后通过学生成绩管理系统的15个典型SQL示例,演示了多表查询、子查询、成绩统计等实际应用场景。

2302_76998343的博客 1174

MySQL常用类型转换函数总结

MySQL函数常用类型转换函数总结 1、Concat函数。 连接字符串常用:concat函数。如sql查询条件的like查询,AND c.name like concat(#{param.name},'%') 将Int 转为varchar经常用 concat函数,比如concat(8,'0') 得到字符串 '80' 2、Cast函数;CONVERT函数。 用法:CAST...

"其实我是一演员"的专栏 1万+

MySQL常用函数详解之流程函数

数据处理和业务逻辑中常常需要根据不同条件执行不同操作,或对数据进行条件判断与转换,MySQL的流程函数允许我们在SQL语句中实现类似编程中的条件判断、分支控制等逻辑,极大地增强了SQL的表达能力和灵活性。本文我将全面介绍MySQL常用流程函数的语法、功能及应用场景,并结合实战案例,帮你全面掌握这些实用工具

aa_hdkf_vg的博客 1597

MYSQL常用函数

MYSQL常用函数

adminwbbmm的博客 847
上一篇: MySQL DQL语句的练习和执行顺序
下一篇: MySQL 里面的 “约束” 条件 你确定你全都知道?
易点点心动
博客等级 码龄5年 355粉丝 · 61原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易点点心动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值