第三章 函数

概念

函数是计算程序中一段预先设置好的功能,可以满足反复调用的需求。

函数三要素

输入参数

需要什么数据

函数名称

给函数起个名字,方便调用

返回值

处理后的结果是什么

字符串函数

概念

用于处理TEXT类型的数据。

大小写转换函数

UPPER

输入参数

英文的字符串

作用

转换大写

返回值

转换大写后的字符串

LOWER

输入参数

英文的字符串

作用

转换小写

返回值

转换小写后的字符串

例子

1
SELECT UPPER('Hello'),LOWER('Hello');

image.png

2
select lower(ename),lower(job) from emp;

TRIM()函数

输入参数

字符串

作用

去除字符串前后空格

返回值

处理后的字符串

例子

SELECT TRIM('       hello world       ');

image.png

数字函数

ROUND()函数

输入参数

输入参数1:数字
输入参数2:保留的小数位,可省略,省略默认为保留整数位

作用

四舍五入

返回值

四舍五入后的数字

例子

SELECT ROUND(123.456,2);

image.png

MOD()函数

输入参数

输入参数1:被除数
输入参数2:除数

作用

求模

返回值

计算后的数字

例子

SELECT MOD(10,4);

image.png

ABS()函数

输入参数

数字

作用

绝对值

返回值

取绝对值之后的数字

例子

SELECT ABS(-23);

image.png

日期函数

DATE()函数

输入参数

符合格式的日期时间字符串

作用

只提取日期

返回值

只包含日期的字符串

例子

SELECT DATE(hiredate) FROM emp;

image.png

TIME()函数

输入参数

符合格式的日期时间字符串

作用

只提取时间

返回值

只包含时间的字符串

DATETIME()函数

输入参数

符合格式的日期时间字符串

作用

提取时间和日期

返回值

包含日期和时间的字符串

3.2 获取本地时间

作用

使用DATETIME、DATE或TIME提取本地时区的当前时间和日期

参数

参数换为以下两个参数
输入参数1:‘now’
输入参数2:‘localtime’

例子

SELECT DATE('now','localtime'),TIME('now','localtime'),DATETIME('now','localtime') 
FROM emp;

image.png

说明

上面的函数还可以省略第二个参数’localtime’,表示基于国际标准时间(格林威治时间)。
image.png

儒略日

概念

儒略日(Julian Day)是公元前4713年1月1日。

JULIANDAY()函数

输入参数

'now’或一个日期

作用

计算机输入日期与儒略日的差值,单位天

返回值

相差的天数,精确到小数

例子

SELECT ename,(JULIANDAY('now')-JULIANDAY(hiredate))/365 FROM emp;

image.png

说明

也可以直接使用日期作差

STRFTIME()函数

作用

时间格式化

输入参数

输入参数1:
格式

image.png

输入参数2

基于哪个日期时间

返回值

提取的数据,需要注意返回的数据是文本,例如’12’

例子

1
-- 注意STRFTIME返回值的TEXT,文本与文本比对,更改为'01'
SELECT * FROM emp WHERE STRFTIME('%m',hiredate)='01';
-- 也可以把等号左边数值变为数字
SELECT * FROM emp WHERE CAST(STRFTIME('%m',hiredate) AS DECIMAL)=01;
2
SELECT STRFTIME('%H:%M',TIME('now','localtime'));
  1. 查询在上半年雇佣的雇员信息。
  2. 查询在每个月1号雇佣的雇员信息。
  3. 查询在1981年雇佣的雇员信息。

空值函数

IFNULL()函数

概念

任何数字与NULL进行数学计算,结果同化为NULL
空值函数可以把NULL等效为某个数字

输入参数

输入参数1
可能为空的数据
输入参数2
等效数字

函数作用

如果参数1为NULL,则替换为参数2的等效数字
如果参数1不为NULL,则不替换

返回值

处理后的数字(NULL等效后的数字或者原数字)

例子

1.错误语句
SELECT ename,sal+comm FROM emp;

image.png

2正确语句
SELECT ename,sal+ifnull(comm,0) FROM emp;

统计函数

常用统计函数

COUNT()计数函数

COUNT(*)

表示使用所有列作为一条数据有效性的依据,即一条数据只要有任何一列有数据,就参与计数。

COUNT(列名)

不会对输入列出现NULL的情况计数,重复的数据分别计数。

COUNT(DISTINCT 列名)

只统计输入列不重复数据的次数

SUM()求和函数

AVG()平均值函数

MAX()最大值

MIN()最小值函数

说明

这五个函数输入参数是一些数据列(通常是数字类型,COUNT可支持非数字类型)
返回值是统计后的数字

例子

SELECT MAX(hiredate),MIN(hiredate) FROM emp;
SELECT MAX(sal) FROM emp WHERE deptno=20;
SELECT MAX(sal) FROM emp WHERE job='MANAGER';
SELECT AVG(sal) FROM emp WHERE job='SALESMAN';
SELECT COUNT(*) FROM emp WHERE job='CLERK';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值