MySQL数据库基础第二篇(函数)

文章目录

  • 一、函数介绍
  • 二、字符串函数
    • 1.练习代码
    • 2.读出结果
  • 三、数值函数
    • 1.练习代码
    • 2.读出结果
  • 四、日期函数
    • 1.练习代码
    • 2.读出结果
  • 五、流程控制函数
    • 1.练习代码
    • 2.读出结果

在当代技术世界中,掌握数据库设计和操作的知识和技能,尤其是对SQL的理解,早已成了计算机科学、数据科学和一系列其他技术领域中的必备技能。
本文旨在深入浅出地介绍MySQL中使用的各类函数,让读者一方面可以对这些函数有一个全面的认识,同时通过实例代码和练习,手把手教你如何运用它们进行数据操作。我们将会介绍到的函数会覆盖字符处理,数字计算,日期和时间,以及流程控制等方方面面,为你提供最实用的工具和函数方法。
无论你是数据操作的初学者还是有着一定基础的开发者,只要你希望对MySQL有更深入的了解并更有效地使用它,那么这篇文章都将能给你所需要的帮助。

一、函数介绍

MySQL数据库基础第二篇(函数)_第1张图片

二、字符串函数

MySQL数据库基础第二篇(函数)_第2张图片

代码如下(示例):

-- --------------------------------------函数演示-----------------------------------------

-- concat
select concat('Hello','MySQL'); #HelloMySQL

-- lower
select lower('Hello');  #hello

-- upper
select upper('Hello');  #HELLO

-- lpad
select lpad('01',5,'-');    #---01

-- rpad
select rpad('01',5,'-');    #01---

-- trim
select trim(' Hello MySQL ');   #Hello MySQL

-- substring  
select substring(' Hello MySQL ',1,5);  # Hell

MySQL数据库基础第二篇(函数)_第3张图片

1.练习代码

代码如下(示例):

update emp set workno = lpad(workno,5,'0')

2.读出结果

MySQL数据库基础第二篇(函数)_第4张图片
注:本文所用于演示的数据表为 emp ,构建代码于文章:MySQL数据库基础第一篇(SQL通用语法与分类)可见

三、数值函数

MySQL数据库基础第二篇(函数)_第5张图片

代码如下(示例):

-- ------------------------------------------------------------------------------------------

-- 数值函数

-- ceil
select ceil(1.1);   #2

-- floor
select floor(1.9);  #1

-- mod
select mod(7,4);    #3

-- rand
select rand();      #0.9526048888942272

-- round
select round(2.3445,2); #2.34

在这里插入图片描述

1.练习代码

代码如下(示例):

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

2.读出结果

在这里插入图片描述

四、日期函数

MySQL数据库基础第二篇(函数)_第6张图片

代码如下(示例):

-- ------------------------------------------------------------------------------------------

-- 日期函数

-- curdate
select curdate();   #2024-02-01

-- curtime
select curtime();   #11:26:00

-- now
select now();   #2024-02-01 11:26:09

-- year month monthname
select year(now());   #2024

select month(now());   #2

select day(now());   #1

-- date_add
select date_add(now(),interval 70 month );  #2029-12-01 11:30:31

-- datediff
select datediff('2024-02-01 ','2029-07-11 ');   #-1987

在这里插入图片描述

1.练习代码

代码如下(示例):

select name,datediff(curdate(),entrydate) as '入职天数' from emp order by entrydate desc ;

2.读出结果

MySQL数据库基础第二篇(函数)_第7张图片

五、流程控制函数

MySQL数据库基础第二篇(函数)_第8张图片

代码如下(示例):

-- ------------------------------------------------------------------------------------------

-- 流程控制函数

-- if
select if(false,'ok','Error');   #Error

-- ifnull
select ifnull('ok','Default');  #ok

select ifnull(null,'Default');  #Default

--
-- 需求:查询emp表的员工姓名与工作地址(北京|上海 ---->一线城市 ,其他 ---->二线城市)
select
    name,
    (case workaddress when '北京' then '一线城市'when '上海' then '一线城市'else '二线城市' end ) as'工作地址'
from emp;

MySQL数据库基础第二篇(函数)_第9张图片
MySQL数据库基础第二篇(函数)_第10张图片

1.练习代码

代码如下(示例):

select
    ID,
    name,
    age,
    (case when 编程成绩 >=85 then '优秀' when 编程成绩 >= 60 then '及格' else '不及格' end )'编程成绩',
    (case when 高数成绩 >=85 then '优秀' when 高数成绩 >= 60 then '及格' else '不及格' end )'高数成绩',
    (case when 外语成绩 >=85 then '优秀' when 外语成绩 >= 60 then '及格' else '不及格' end )'外语成绩'

     from 表_name

2.读出结果

MySQL数据库基础第二篇(函数)_第11张图片


你可能感兴趣的:(MySQL数据库,数据库,mysql,adb)