#常见函数
1、自定义方法(函数)
2、调用方法(函数)☆
常见函数:
字符函数
concat
substr
length
char_length
upper
lower
trim
left
right
lpad
rpad
instr
strcmp
数学函数
abs
ceil
floor
round
truncate
mod
日期函数
now
curtime
curdate
datediff
date_format
str_to_date
流程控制函数
if
case
#一、字符函数
1、CONCAT 拼接字符
SELECT CONCAT('hello',first_name,last_name) 备注 FROM `employees`;
2、LENGTH 获取字节长度
SELECT LENGTH('hello,一二');
3、CHAR_LENGTH 获取字符个数
SELECT CHAR_LENGTH('hello,一二');
4、SUBSTRING 截取子串
SELECT SUBSTR('已给我里giao',1);
SELECT SUBSTR('已给我里giao',2,4);
5、INSTR 获取字符第一次出现的索引
SELECT INSTR('已给我里giao','giao');
6、TRIM去前后指定的字符,默认空格
SELECT TRIM(' 哈 哈 ');
SELECT TRIM('e'FROM 'eee哈哈哈哈eee');
7、LPAD/RPAD 左填充/右填充
SELECT LPAD('哈哈哈',6,'6');
SELECT RPAD('啊哈哈',6,'6');
8、UPPER/LOWER 变大写/变小写
SELECT UPPER('a');
SELECT LOWER('A');
9、STRCMP 比较两个字符大小
SELECT STRCMP ('abc','efc');
10、LEFT/RIGHT 截取子串
SELECT LEFT('哈哈哈额',1);
SELECT RIGHT('哈哈嗯嗯',2);
#二、数学函数
1、ABS 绝对值
SELECT ABS(-2);
2、CEIL 向上取整 返回>=该参数的最小整数
SELECT CEIL(-1.66);
3、FLOOR:向下取整,返回<=该参数的最大整数
SELECT FLOOR(-1.66);
4、ROUND 四舍五入
SELECT ROUND(1.5156498);
5、TRUNCATE 截断(小数点往后X位)
SELECT TRUNCATE(1.56465,2);
6、MOD 取余
SELECT MOD(-10,3);
#三、日期函数
1、NOW
SELECT NOW();
2、CURDATE
SELECT CURDATE();
3、CURTIME
SELECT CURTIME();
4、DATEDIFF
SELECT DATEDIFF('1998-4-14','2020-4-14');
5、DATE_FORMAT
SELECT DATE_FORMAT(`hiredate`,'%Y年%M月%d日 %H小时%i分钟%s秒')
FROM `employees`;
6 、 STR_TO_DATE按指定格式解析字符串的日期类型
SELECT
*
FROM
`employees`
WHERE `hiredate`<STR_TO_DATE('3/15 1998', '%m/%d %Y') ;
#流程控制函数
1、IF 函数
SELECT IF(123>145,'ture','false');
2、CASE 函数
情况1:类似于switch语句,可以实现等值判断
CASE 表达式
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
...
ELSE 结果
END
#案例
SELECT `department_id`,`salary`,
CASE `department_id`
WHEN 30 THEN `salary`*2
WHEN 50 THEN `salary`*3
WHEN 60 THEN `salary`*4
ELSE `salary`
END newSalary
FROM `employees`;
情况2:类似于多重IF语句,实现区间判断
CASE
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
...
ELSE 结果n
END
#案例
SELECT salary,
CASE
WHEN salary>20000 THEN 'A'
WHEN salary>15000 THEN 'B'
WHEN salary>10000 THEN 'C'
ELSE 'D'
END grade
FROM `employees`;