MySQL基础之常见函数的使用
Posted nuist__NJUPT
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础之常见函数的使用相关的知识,希望对你有一定的参考价值。
mysql基础之常见函数的使用
1-字符函数
length获取参数的字节个数:
#length获取参数的字节个数
select length('王国栋123');
concat拼接字符串:
#concat拼接字符串
select concat(last_name,'_',first_name) as 姓名
from employees;
将姓变成大写,名变成小写,然后拼接:
#将姓变成大写,名变成小写,然后拼接
select concat(upper(last_name), lower(first_name))
as 姓名
from employees;
#截取指定长度字符
select substring('王国栋是个菜鸡',1,3);
将姓中首字母大写,其余字母小写,用_拼接显示:
select concat(upper(substring(last_name,1,1)), '_', lower(substring(last_name,2))) as 姓
from employees;
使用instr返回字串第一次出现的索引,如果没有返回为0:
#使用instr返回字串第一次出现的索引,如果没有返回为0
select instr('我是菜鸡王国栋','王国栋');
删除指定字符的前后字符:
#删除指定字符的前后字符
select trim('1' from '1111王国栋111');
用指定的左填充指定长度和右填充指定长度:
select lpad('王国栋',10,'1') as 左填充;
select rpad('王国栋',10,'1') as 右填充;
使用replace实现替换:
#使用replace实现替换
select replace('周芷若和张无忌在一起了','周芷若','赵敏');
2-数学函数
round实现四舍五入:
#round实现四舍五入
select round(1.567,2);
ceil实现向上取整:
#ceil实现向上取整
select ceil(1.23);
floor实现向下取整:
#floor实现向下取整
select floor(1.23);
使用truncate截断:
#使用truncate截断
select truncate('1.234',1) ;
使用mod函数进行取余:
#使用mod函数进行取余
select 10 mod 3;
3-日期函数
返回当前系统日期时间:
#返回当前系统日期时间
select now();
返回当前系统日期:
#返回当前系统日期
select curdate();
返回当前时间:
#返回当前时间
select curtime();
使用str_to_date将日期格式的字符串转换成指定格式的日期:
#使用str_to_date将日期格式的字符串转换成指定格式的日期
select str_to_date('1998-7-25','%Y-%m-%d');
使用str_to_date解析和查询入职日期为1992年4月3号的员工信息:
#使用str_to_date解析和查询入职日期为1992年4月3号的员工信息
select *
from employees
where hiredate = str_to_date('4-3-1992','%m-%d-%Y');
date_format将日期转换成字符串格式:
#date_format将日期转换成字符串格式
select date_format(now(),'%Y年%m月%d日') as 日期;
查询有奖金的员工名和入职日期:
#查询有奖金的员工名和入职日期
select last_name, date_format(hiredate,'%Y年%m月%d日')
from employees
where commission_pct is not null ;
4-其它函数
查看数据库版本:
#查看数据库版本
select version();
查看当前数据库:
#查看当前数据库
select database();
查看当前用户:
#查看当前用户
select user();
5-流程控制函数
if函数:
查询员工名和奖金,有奖金,嘻嘻,没奖金,呵呵:
#查询员工名和奖金,有奖金,嘻嘻,没奖金,呵呵
select last_name,commission_pct, if(commission is not null,'有奖金,嘻嘻','没奖金,呵呵')
from employees;
使用case when then else end函数:
要求查询员工的工资,部门号30显示工资为1.1倍,部门号为40显示工资为1.2倍
部门号为50显示工资为1.3倍,其它部门显示原来工资
select salary 原始工资, department_id,
case department_id
when 30 then salary*1.1
when 40 then salary*1.2
when 50 then salary*1.3
else salary
end as 新工资
from employees;
查询员工工资情况,要求工资大于20000为A级别,大于15000为B级别,大于10000为C级别,其它为D级别:
#查询员工工资情况
#要求工资大于20000为A级别,大于15000为B级别,大于10000为C级别,其它为D级别
select salary, case
when salary > 20000 then 'A'
when salary > 15000 then 'B'
when salary > 10000 then 'C'
else 'D'
end as 工资等级
from employees;
以上是关于MySQL基础之常见函数的使用的主要内容,如果未能解决你的问题,请参考以下文章