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 ;


浙公网安备 33010602011771号