003 常用函数说明


一般情况下,我们将函数分成两种,一种是单行函数,另外一种就是分组函数.

(1)一般单行函数是用来进行数值进行处理的,

(2)分组函数又称为统计函数,一般是对一组值进行数理统计的.

首先我们进行的就是单行函数的学习.

为了方便记忆的目的,我们将函数分为下面的几个部分,

[1]字符函数

[2]数学函数

[3]日期函数

[4]其它函数

[5]流程控制函数


字符函数

[1]length()

获取字符串的长度[实际上是获取对应的字节长度]

eg:select length('addd') ---->4

[2]concat()

进行字符串的拼接.

[3]upper() lower

进行字符串的大小写的转换.

[4]substring()

进行函数的截取.

这个函数的重载形式比较多.

一般和java的string很相似.但是索引时从1开始的,截取的是长度.

[5]instr() 获取一个字符串在另外一个字符串中出现的位置.

如果在源字符串中没有,则返回0.也就是说,我们可以根据这个特性判断字符串中是否

包含.

[6]trim()

进行字符串的去除.

[7]lpad 进行左填充. rpad() 实现右填充.

select lpad('aa',10 , '###') 

[8]replace() 进行字符串的替换.这个和之前的一致.


数学函数:

[1]round() 四舍五入的形式.

select round(1.63) ----2

select round(-1.45) --- -1

select round(1.567 , 2) --1.57 后面的参数的小数点的精确位数.

[2]ceil() --向上取整

[3]floor()函数 ---向下取整.

[4]truncate(数值) --进行截断.


日期函数

[1]now() 返回当前的时间和日期. (有时间和日期)

[2] curdate() 返回当前的日期(没有时间)

[3]curtime() 返回当前的时间

[4]获取一个日期对象的指定部分

select year(now()) ;

select month(now());

[5]str_to_date('9-13-1999' , '%m-%d-%Y')

以后遇到的可以找一下.

[6]date_format('日期',格式化的形式);


其它函数:

show database() --显示当前使用的数据库;

show user() --显示当前的用户;


流程控制函数:

[1]if函数

select if(10>5 ,'是' , '否')  相当于decode()函数

[2]case 函数的使用:

case  字段

when 常量1 then 语句1

when 常量2 then 语句2

 else 默认的情况

end 

-------

方式二:

 case  

when  条件一 then 语句

when 条件二 then 语句

else 语句

end


 分组函数: 

这个已经非常的熟悉了;

这个需要说明的就是null值的处理.

sum() avg() max() min() 都是忽略null的.

count() 也是会忽略null的.

现在我们就已经知道分组函数都是忽略null值.

需要和distinct 搭配使用.

select count(distinct dept_id ) from employees;

现在我们进行的就是先去重,然后再进行统计.  

原文地址:https://www.cnblogs.com/trekxu/p/8491972.html