第四章 MySql-DQL命令
函数的学习
- length()函数
//注意:length函数是获取参数的字节个数;
select length('jonhs');
select length('张三丰hahaha')
concat()函数
//该函数用来拼接字符串,如下,中间可以拼接一个下划线
select
concat(last_name,‘_’,first_name) as "别名"
from
employees;
- 大小写翻转 upper或LOWER
select upper('john'); //将小写变为大写
select lower('joHn'); //将大写变为小写
- 案例:将姓名变大写,名变为小写,然后用-拼接显示
select
concat(upper(last_name),'-',lower(first_name)) as "别名"
from
employees;
- 字符截取函数:substr或者substring
注意sql语言中字符截取函数<索引是以1>开始的
//这里句表示截取索引从7开始到最后,结果为:陆展元
select substr('李莫愁爱上了陆展元',7) as "别名";
//这句的意思类似go语言,截取索引1开始到第3位,结果为:李莫愁
select substr('李莫愁爱上了陆展元',1,3) as "别名";
- 案例:姓名中首字符大写,其他字符小写然后用-拼接,显示出来
select
concat(upper(substr(first_name,1,1)),
'-',lower(substr(first_name,2,length(first_name))))
as "别名"
from employees;
- inStr 函数
//返回子串第一次出现的索引下标,
意思就是他第一次出现在这个字符串中他的下表示几;
这里的结果是7
select instr('杨不悔爱上了殷六侠','殷六侠') as "别名";
- trim 函数去除前后的空格;
select trim(" 张翠山 ") as '别名';
- 案例:去掉指定字符
select trim('a' from 'aaaaaa张翠山aaaaaa') as '别名';
- lpad 左边填充指定长度
select lpad('尹叔叔',10,'*') as "别名";
- lpad 右边填充指定长度
select rpad('尹叔叔',10,'ab') as "别名";
- 替换函数
select replace('张无忌爱上了周芷若','周芷若','赵敏') as "别名";
- 数学函数 round() 四舍五入
//结果为-2
select round(-1.65) as "结果";
//小数点后保留两位,结果为-1.66
select round(-1.655,2) as "结果";
- 截断函数
第2个参数决定保留几位
select truncate(1.65,1);
- 流程控制函数
注意:有点类似三目运算符
select if(10>5,'大','小') as '别名';
- 下面是案例:
查询出将这一列,的姓名和奖金,然后判断出有奖金的显示有奖金,没奖金的显示没奖金
select
last_name as "姓名",
commission_pct as "奖金",
if(commission_pct is not null,'有奖金','没奖金') as "奖金状态"
from employees
每天学一点·相信一定会有所收货