类似java的方法,暴露功能,封装方法体,可以嵌套使用
其他函数
SELECT VERSION();
SELECT DATABASE();
SELECT USER();
单行函数
字符函数
基本类似的java的常见字符串函数
SELECT LENGTH('jion');
SELECT CHAR_LENGTH('你好123');
# concat 拼接字符串
SELECT CONCAT('Go','ku');
# upper\lower 大小写转换
# SUBSTR\SUBSTRING 切片 区别于java ,sql语言中索引是从1开始
SELECT SUBSTR('abc',2); # bc
SELECT SUBSTR('abcde',1,3); #abc
# INSTR 返回子串第一次出现的索引
SELECT INSTR('abcde','d'); #4
# LTRIM(str)修剪
SELECT TRIM(' 123 '); #123
SELECT TRIM('a' FROM 'aa123aaaa'); # 123
# LPAD(str,len,padstr) | LPAD(str,len,padstr) 用自定字符左、右填充至指定长度len
SELECT LPAD('adc',10,1);#1111111abc
# REPLACE(str,from_str,to_str) 替换
SELECT REPLACE(str,from_str,to_str);
数学函数
# round 四舍五入
SELECT ROUND(1.22); # 1
SELECT ROUND(1.22,1); # 1.2
# CEIL,FLOOR(X) 向下向上取整
# TRUNCATE(X,D) 截断
SELECT TRUNCATE(122.228,2);#122.22
# MOD 取余
日期函数
SELECT NOW();
SELECT CURDATE();
SELECT CURTIME();
# 获取时间的指定部分
SELECT YEAR(NOW());
# STR_TO_DATE(str,format)| DATE_FORMAT(date,format) 日期与字符的互相转换
# 格式符号 %Y(四位的年) %y(两位的年)%i(分)其他的和java中差不多
SELECT STR_TO_DATE('22-9-2020','%d-%m-%Y');
流程控制函数
# if函数 java的三元函数吧
SELECT IF(1+1>2,'你个猪!','嗯');
# case函数。 java的switch case效果
SELECT salary 原始工资,department_id,CASE department_id
WHEN 30 THEN
salary*1.1
WHEN 40 THEN
salary*1.2
ELSE
salary
END 新工资 FROM employees;
分组函数
功能:统计使用,又称聚合函数
# sum 求和
SELECT SUM(salary) FROM employees;
# AVG
# MIN
# MAX
# COUNT 计算不为null的个数。
心的:sql中,一般null值都不处理或者参与运算,在聚合统计时是忽略null值的,基本比较符(=、>…)也不能判断null值(除了安全相等<=>),对null值的判断又专门的函数判断ISNULL ,IFNULL。