MYSQL基础知识之函数
1、函数概念
函数是指一段可以直接被另一段程序调用的程序或代码
2、字符串函数
MySQL常用的字符串函数有:
# CONCAT(S1,S2,...Sn) :字符串拼接,将S1,S2,...Sn拼接成一个字符串
SELECT CONCAT('hello','world');
#LOWER(str): 将字符串str全部转为小写
SELECT LOWER('ABCD');
#UPPER(str): 将字符串str全部转为大写
SELECT LOWER('abcd');
#LPAD(str,n,pad):左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
SELECT LPAD('a',6,'s');
#右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
SELECT RPAD('a',6,'s');
#TRIM(str):去掉字符串头部和尾部的空格
SELECT TRIM(' aaa ');
#SUBSTRING(str,start,len):返回从字符串str从start位置起的len个长度的字符串
SELECT SUBSTRING('ABCDEFG',1,3);
3、数值函数
MySQL常用的数值函数有:
#CEIL(x):向上取整
SELECT CEIL(1.5);
#FLOOR(x):向下取整
SELECT FLOOR(1.5);
#MOD(x,y):返回x/y的模
SELECT MOD(3,2);
#RAND():返回0~1内的随机数
SELECT RAND();
#ROUND(x,y):求参数x的四舍五入的值,保留y位小数
SELECT ROUND(1.6548,2);
4、日期函数
MySQL常用的日期函数有:
#CURDATE():返回当前日期
SELECT CURDATE();
#CURTIME():返回当前时间
SELECT CURTIME();
#NOW():返回当前日期和时间
SELECT NOW();
#YEAR(date):获取指定date的年份
SELECT YEAR(20230405);
#MONTH(date):获取指定date的月份
SELECT MONTH(20230405);
#DAY(date):获取指定date的日期
SELECT DAY(20230405);
#DATE_ADD(date,INTERVAL expr type):返回一个日期/时间值加上一个时间间隔expr后的时间值
SELECT DATE_ADD(20230405,INTERVAL 30 DAY);
#DATEDIFF(date1,date2):返回起始时间date1和结束时间date2之间的天数
SELECT DATEDIFF(20230405,20230505);
5、流程函数
MySQL常用的流程函数有:
#IF(value,t,f):如果value为true,则返回t,否则返回f
SELECT IF(TRUE,'YES','NO');
#IFNULL(value1,value2):如果value1不为空,返回value1,否则返回value2
SELECT IFNULL(NULL,'YES');
SELECT IFNULL('NO','YES');
#CASE WHEN [val1] THEN [res1] ... ELSE [default] END:如果val1为true,返回res1,...否则返回default默认值
SELECT CASE WHEN TRUE THEN 'YES' ELSE 'NO' END ;
#CASE [expr] WHEN [val1] THEN [res1] ... ELSE [default] END:如果expr的值等于val1,返回res1,...否则返回default默认值
SELECT CASE 'YES' WHEN 'YES' THEN 'IS YES' ELSE 'IS NO' END ;