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))) asfrom 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基础之常见函数的使用的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础006 --- 常见函数介绍

sql注入之常见注入类型

MySQL基础之MySQL必知必会使用数据处理函数

MySQL中的常见函数之单行函数

MySQL中的常见函数之单行函数

MySQL基础-05DQL语言(数据查询语言)-进阶4常见函数