大连 网站建设 有限公司,seo和sem是什么,兰州企业网站建设,旅游网站模块报价#x1f4e2; 前言
函数 是指一段可以直接被另一段程序调用的程序或代码。主要包括了以下4中类型的函数。 字符串函数数值函数日期函数流程函数 #x1f384; 字符串函数
⭐ 常用函数 函数 功能 CONCAT(S1,S2,...Sn) 字符串拼接#xff0c;将S1#xff0c;S2#xff0… 前言
函数 是指一段可以直接被另一段程序调用的程序或代码。主要包括了以下4中类型的函数。 字符串函数数值函数日期函数流程函数 字符串函数
⭐ 常用函数 函数 功能 CONCAT(S1,S2,...Sn) 字符串拼接将S1S2... 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个长度的字符串 ⭐ 示例
☀ 简单操作 值得注意的是trim是去除前后空格不能去掉中间的空格。 substring第一个位置是从1开始,而不是0。
select concat(Hello,Mysql);
select lower(Linux);
select upper(Linux);
select lpad(01,5,-);
select rpad(01,5,-);
select trim( Hello Mysql );
select substring(Hello Mysql ,1,5);
☀ 由于业务需求变更企业员工的工号统一为5位数目前不足5位数的全部在前面补0。比如 1号员 工的工号应该为00001。
update test.emp set workno lpad(workno,5,0); 数值函数
⭐ 常用函数 函数 功能CEIL(x)向上取整FLOOR(x)向下取整MOD(x,y)返回x/y的模,也就是余数 RAND() 返回0~1内的随机数 ROUND(x,y) 求参数x的四舍五入的值保留y位小数 ⭐ 示例
☀ 简单操作 随机数可以×或者加上一个数让其保持在某个自定义的区间内。
select ceil(1.1);
select floor(1.1);
select mod(7,4);
select rand()*10;
select round(2.345,2);
☀ 通过数据库的函数生成一个六位数的随机验证码。
select lpad(round(rand()*1000000,0),6,0);
select rpad(round(rand()*1000000,0),6,0); 日期函数
⭐ 常用函数 函数 返回起始时间 date1 和 结束时间 date2 之间的天 数 功能 CURDATE() 返回当前日期CURTIME()返回当前时间NOW()返回当前日期和时间YEAR(date)获取指定date的年份MONTH(date)获取指定date的月份DAY(date)获取指定date的日期 DATE_ADD(date, INTERVAL expr type) 返回一个日期 / 时间值加上一个时间间隔 expr 后的 时间值 DATEDIFF(date1,date2) 返回起始时间 date1 和 结束时间 date2 之间的天 数 ⭐ 示例 ☀ 简单操作
date_add 后面增加的类型是时间单位,比如yearmonth,day,week,hour,minutesecond 并且这个时间可以是负数的。
select curdate();
select curtime();
select now();
select year(now());
select month(now());
select day(now());
select date_add(now(),interval 70 year);
select datediff(2024-10-10,2023-10-09);
☀ 查询所有员工的入职天数并根据入职天数倒序排序。
select name, datediff(now(),entrydate) 天数 from test.emp order by 天数 desc; 流程函数 实现条件筛选从而提高语句的效率。
⭐ 常用函数 函数 功能 IF(value , t , f) 如果 value 为 true 则返回 t 否则返回 f IFNULL(value1 , value2) 如果 value1 不为空返回 value1 否则 返回 value2 CASE WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END 如果 val1 为 true 返回 res1 ... 否 则返回 default 默认值 CASE [ expr ] WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END 如果 expr 的值等于 val1 返回 res1 ... 否则返回 default 默认值 ⭐ 示例 ☀ 简单操作
select if(false,ok,error);
select ifnull(Ok,Default);
select ifnull(null,Default); ☀ 查询emp表的员工姓名和工作地址 对于展示要求,如果是北京/上海 ---- 一线城市 , 其他 ---- 二线城市
selectname,(case when (workaddress北京 or workaddress 上海) then 一线城市 else 二线城市 end) 工作地址
from emp;
select name,if((workaddress北京 or workaddress 上海),一线城市,二线城市) 工作地址 from emp;
selectname,(case when workaddress北京 then 一线城市 when workaddress 上海 then 一线城市 else 二线城市 end) 工作地址
from emp;
☀ 统计各个学员的成绩 85 优秀 60 及格 60 不及格首先准备数据
create table score(
id int comment ID,
name varchar(20) comment 姓名,
math int comment 数学,
english int comment 英语,
chinese int comment 语文
) comment 学员成绩表;
insert into score(id, name, math, english, chinese) VALUES (1, Tom, 67, 88, 95
), (2, Rose , 23, 66, 90),(3, Jack, 56, 98, 76);注意 这里有个要注意的当大于等于85匹配,也就是被返回后,将不再参与后续的大于等于60的判断,所有不会影响后续条件的判定。
select name,(case when math 85 then 优秀 when math60 then 及格 else 不及格 end),(case when english 85 then 优秀 when english60 then 及格 else 不及格 end ),(case when chinese 85 then 优秀 when chinese60 then 及格 else 不及格 end)from score;