MySQL操作系列之常见函数大全(三)

mysql的常见函数类似于java中的方法

一.字符函数

1.length(str):返回值为字符的长度
2.concat(str,str1,...):字符拼接
3.upper(str)与lower(str):字符转大小写
列:将a字符变为大写,再将B字符变为小写,然后拼接 concat(upper('a'),lower('B'))
4.substr(str,pos):截取str字符中pos索引之后的的所有字符;[注意:与java不同,索引从下标1开始数]
5.substr(str,startPos,endPos):截取str字符中startPos到endPos索引之间的所有字符;
6.instr(str,str2):返回str2在str中第一次出现的位置索引;如果没有就返回0;
7.trim(str):默认去除前后空格;
8.trim('a' from 'aaaaa你好aaaaa'):去除前后a字符;
9.lpad(str,mylength,str2):如果str的长度没有达到mylength的长度,那么就在str字符之前去填充str2字符;
                        如果str的长度超过mylength的长度,那么就会截取str中的字符,直到与mylength的长度相同;
10.[lpad左填充rpal又填充]
11.replace(str,strA,strB):将str中所有包含strA的值都替换为strB值;
12.datediff(date1,date2):date1与date2之间相隔多少天。如datediff('2017-9-2','2017-9-5')返回结果3;

二.数学函数

1.round(float)四舍五入;
2.round(float,保留位数):round(1.567,2)得到的值为1.57;
3.cell(float):向上取整 cell(1.002)得到的值为2;
4.flower(float):向下取整;
5.truncate:截断 truncate(1.565,1)得到的值为1.5;
6.mod:取余数 mod(10,3)得到的值为1;

三.日期函数

1.now():返回当前的系统日期+时间;
2.curdate():返回当前的系统日期,不包含时间;
3.curtime():返回当前时间,不包含日期;
4.获取指定的日期 year(now())等等;
5.str_to_date:将指定格式的字符转化为日期 str_to_date('1999-3-12',"%Y-%c-%dd");
7.date_format:将日期转化为字符 date_format(now(),'%y年%m月%d日');

 
四.流程控制函数

1.if(条件,条件为true指定的值,条件为false指定的值);
2.case语法(相当与java中switch)[
  case 要判断的字段或表达式
  when 常量1 then 要显示的值1或语句1;
  when 常量2 then 要显示的值2或语句2;
  ......
  else 条件都不满足的情况下要显示的值或语句;
  end
]
列:查询员工部门为1的员工工资为自身工资的1.5倍,员工部门为2的员工工资为自身工资的1.2倍,其余不变;
SELECT salary 原工资,department_id,
CASE department_id
WHEN 1 THEN salary*1.5
WHEN 2 THEN salary*1.2
ELSE salary 
END AS 新工资
FROM employees;
3.case语法2(相当与java中多重if else语句)[
  case 
  when 条件1 then 要显示的值1或语句1
  when 条件2 then 要显示的值2或语句2
  ......
  else 条件都不满足的情况下要显示的值或语句
  end
]
列:如果工资大于30000,显示A级别;如果工资大于20000,显示B级别;如果工资大于15000,显示C级别;否则D;
SELECT salary,
CASE
WHEN salary>=30000 THEN 'A'
WHEN salary>=20000 THEN 'B'
WHEN salary>15000 THEN 'C'
ELSE 'D' 
END AS 工资级别
FROM employees;

五.分组函数

用于做统计使用,又称为聚合函数:sum求和,avg平均值,max最大值,min最小值,count计算个数:
sum(value),avg(value),max(value),min(value),count(value):
计算得到所有员工工资之和:SELECT SUM(salary) FROM employees;
与distinct结合使用,计算有多少种工资:SELECT COUNT(DISTINCT salary) FROM employees;

猜你喜欢

转载自blog.csdn.net/qq_33429583/article/details/85167828
今日推荐