字符串函数
字符串相关操作的函数
举个例子:
①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;
效果展示:
标签:函数,效果,展示,--,dual,MySQL,date,select From: https://www.cnblogs.com/gzyhrc/p/17910849.html