MySQL函数

字符串函数

字符串相关操作的函数

举个例子:

①concat(str1,str2,........):字符串拼接

-- 将product表中pname与price进行拼接
select concat(pname,price) from product ;

效果展示:

 ②lower(str):转成小写

-- 将'SMIT'转成小写
select lower('SMIT') from dual;

效果展示:

③upper(str):转成大写

-- 将'smit'转成大写
select upper('smit') from dual;

效果展示:

 ④lpad(str,n,pad):左填充

-- LPAD  RPAD 左右填充
select lpad('why',6,'ha'),rpad('lll',2,'r') from dual;

效果展示:

 ⑤rpad(str,n,pad):右填充

-- LPAD  RPAD 左右填充
select lpad('why',6,'ha'),rpad('lll',2,'r') from dual;

效果展示:

 ⑥trim(str):去除前后空格

-- trim 去除左右空格
select trim('       hello      ') from dual;

效果展示:

 ⑦substring(str,start,len):截取字符串

-- 从product表截取字段pname前三个字符
select substring(pname,1,3) from product;

效果展示:

 ⑧char_length():字符串长度

-- CHAR_LENGTH 求字符串的长度
select pname, CHAR_LENGTH(pname)  from product;

效果展示:

数字函数

 数字相关操作的函数

 举个例子:

将6.0向上取整,3.9向下取整,求7%1的,求-10的绝对值

select ceil(6.0),floor(3.9),MOD(7,1),abs(-10) from dual;

效果展示:

日期时间函数

举个例子:

①curdate():返回当前日期

-- 返回当前日期
select curdate() from dual;

效果展示:

 ②curtime():返回当前时间

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

效果展示:

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

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

效果展示:

 ④year(date):获取指定date的年份

-- 获取指定日期的年
select year('2022-11-12') from dual;

效果展示:

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

-- 获取指定日期的月
select month('2023-12-11') from dual;

效果展示:

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

-- 获取指定日期的周几
select day('2024-01-01') from dual;

效果展示: 

 ⑦date_add(date,interval expr,type):返回一个日期/时间值加上一个时间间隔 expr 后的时间值

-- 添加某个日期
select date_add('2022-11-22',INTERVAL 3 year) from dual;

效果展示:

如果想要获取一个时间/日期值减上时间间隔 expr 后的时间值

需要使用date_sub(date,interval,type)函数

举个例子:

-- 求 '2022-11-22'前3年的日期
select date_sub('2022-11-22',INTERVAL 3 year) from dual;

效果展示:

⑧timestampdiff(type,date1,date2):获取date1与date2之间的时间间隔以type为单位

-- 求出两天的时间间隔,以month为单位
select TIMESTAMPDIFF(MONTH,'2000-11-11','2002-10-11') from dual;

效果展示:

流程函数

常用的流程函数:

 举个例子:

①IF(value,t,f):如果value为true,则返回t否则返回f

-- 如果价格price大于3000返回'价格贵',否则返回价格便宜
select price, if(price>3000,'价格贵','价格便宜') from product;

效果展示:

 ②IFULL(value1,value2):如果value1不为空,则返回value1否则返回value2

-- ifnull语句 如果price不为null,则获取price的值,否则获取6666
select price,  ifnull(price,6666) from product;

效果展示:

 ③CASE WHEN [value1]  THEN [res1] ....... ELSE [default]   END:如果value1为true则返回res1,......,如果没有匹配时则返回默认值

-- 90~100 优秀   80~90 良好  60~70 及格  60 不及格
select select_student_id,select_score,case when select_score>90 and select_score<=100 then '优秀'
                                           when select_score>70 and select_score<=90 then '良好'
                                           when select_score>60 and select_score<=70 then '及格'
                                           else '不及格'
                                      end
from  course_selection_list;    

效果展示:

 

posted @ 2023-12-19 20:32  和哗  阅读(20)  评论(0编辑  收藏  举报