2.4 DQL 常见函数

一、概述

功能:类似于java中的方法

好处:提高重用性和隐藏实现细节

调用:select 函数名(实参列表);

二、单行函数

1、字符函数

concat :连接   concat(last_name,first_name);

substr :截取子串   substr(str,start1)   substr(str,start1,length)  起始位置从1开始

upper :变大写

lower :变小写

replace :替换

length :获取字节长度

trim :去前后空格

lpad :左填充

扫描二维码关注公众号,回复: 10427242 查看本文章

rpad :右填充

instr :获取子串第一次出现的索引

2、数学函数

ceil: 向上取整

round:四舍五入

mod: 取模

floor向下取整

truncate: 截断

rand: 获取随机数,返回0-1之间的小数

 

3、日期函数

now:返回当前日期+时间

year: 返回年

month:返回月

day: 返回日

date_format: 将日期转换成字符

curdate: 返回当前日期

str_to_date: 将字符转换成日期

curtime:返回当前时间

hour: 小时

minute: 分钟

second:秒

datediff: 返回两个日期相差的天数

monthname: 以英文形式返回月

 
 

4、其他函数

version: 当前数据库服务器的版本

database: 当前打开的数据库

user: 当前用户

password: ('字符'):返回该字符的密码形式

md5: ('字符'):返回该字符的md5加密形式

 

 

 

5、流程控制函数

 

if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2

②case情况1

case 变量或表达式或字段

when 常量1 then 值1

when 常量2 then 值2

...

else 值n

end

 

③case情况2

case

when 条件1 then 值1

when 条件2 then 值2

...

else 值n

end

 

三、分组函数

1、分类

max: 最大值

min: 最小值

sum: 和

avg: 平均值

count: 计算个数

 

2、特点

 

①语法

select max(字段) from 表名;
 

②支持的类型

sum和avg一般用于处理数值型
max、min、count可以处理任何数据类型
 

③以上分组函数都忽略null

④都可以搭配distinct使用,实现去重的统计

select sum(distinct 字段) from 表;

⑤count函数

count(字段):统计该字段非空值的个数
count(*):统计结果集的行数
案例:查询每个部门的员工个数
1 xx    10
2 dd    20
3 mm    20
4 aa    40
5 hh    40
 
count(1):统计结果集的行数
 
效率上:
MyISAM存储引擎,count(*)最高
InnoDB存储引擎,count(*)和count(1)效率>count(字段)

 

⑥ 和分组函数一同查询的字段,要求是group by后出现的字段

 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/huabro/p/12624196.html
DQL