MySQL与Oracle的系统函数

本文详细介绍了MySQL中的数学函数如ABS、CEIL、FLOOR等,聚合函数如AVG、COUNT、MAX、MIN、SUM,字符串函数如CONCAT、LEFT、REPLACE等,以及日期时间函数NOW、YEAR、DATE_FORMAT等。同时,对比了Oracle中的相关函数差异,帮助读者深入理解数据库操作。
摘要由CSDN通过智能技术生成

在这里插入图片描述

MySQL数学函数

在这里插入图片描述

ABS(x):返回x的绝对值

SQL语句:

select ABS(-2) from dual;

在这里插入图片描述

ceil(x):返回不小于x的最小整数值 大于等于

SQL语句:

select ceil(-2.1) from dual;
select ceil(2.3) from dual;

在这里插入图片描述

floor(x):返回不大于x的最大整数值 小于等于

SQL语句:

select floor(2.1) from dual;

在这里插入图片描述

mod(x,y):返回x/y的模(取余)

SQL语句:

select mod(5,3) from dual;

在这里插入图片描述

rand():返回0~1内的随机值

SQL语句:

select rand() from dual;

在这里插入图片描述

round(x,y):返回参数x的四舍五入的有y位小数的值

SQL语句:

select round(rand(),2) from dual;

在这里插入图片描述

truncate(x,y):返回数字x截断位y位小数的结果

SQL语句:

select truncate(1.598,2) from dual;

在这里插入图片描述

MySQL聚合函数

在这里插入图片描述
测试表数据
在这里插入图片描述

avg():返回某列的平均值

SQL语句:

select round(avg(prod_price),2) from products;

在这里插入图片描述

count():返回某列的行数

SQL语句:

select count(*) from products;

在这里插入图片描述

max():返回某列的最大值

SQL语句:

select max(prod_price) from products;

在这里插入图片描述

min():返回某列的最小值

SQL语句:

select min(prod_price) from products;

在这里插入图片描述

sum():返回某列值之和

SQL语句:

select sum(prod_price) from products;

在这里插入图片描述

MySQL字符串函数

在这里插入图片描述

concat(s1,s2,….):字符串连接

SQL语句:

select concat('I','come','from','china') from dual;

在这里插入图片描述

left(str,x):返回字符串str最左边的x个字符

SQL语句:

select left('123456',3) from dual;

在这里插入图片描述

lpad(str,n,pad):在str最左边填充n个pad

SQL语句:

select lpad('wwww',6,'0') from dual;

在这里插入图片描述

replace(str,s1,s2):用字符串s2替换字符str中所有出现的字符串s1

SQL语句:

select replace('12344455','4','0') from dual;

在这里插入图片描述

substring(str,x,y):返回从字符串str的x位置起y个字符长度的字串

SQL语句:

select substring('123456','2',5) from dual;

在这里插入图片描述

MySQL日期时间函数

在这里插入图片描述
在这里插入图片描述

now():返回当前的日期和时间

SQL语句:

select now() from dual;

在这里插入图片描述

year(date):返回日期date的年份

SQL语句:

select year('2021-04-12') from dual;

在这里插入图片描述

date_format(date,fmt):返回按字符串fmt格式日期date值(MySQL下)

to_char(date,fmt): 返回按字符串fmt格式日期date值(Oracle下)

SQL语句:

select date_format(now(),'%Y-%m-%d') from dual;

在这里插入图片描述

SELECT to_char(sysdate,'YYYY-MM-DD') FROM dual;

在这里插入图片描述

date_add(date,interval expr type):返回一个日期或时间值加上一个时间间隔的时间值

SQL语句:

select date_add('2021-04-10',interval 1 day) from dual;
select date_add('2021-04-10',interval -1 day) from dual;

在这里插入图片描述

datediff(expr,expr2):返回起始时间expr和结束时间expr2之间的天数

SQL语句:

select datediff('2021-04-11','2021-04-13') from dual;

在这里插入图片描述

MySQL流程函数

在这里插入图片描述

ifnull(value1,value2):如果value1不为空,返回value1,否则返回value2

SQL语句:

select ifnull(id,2) from stu_score;

在这里插入图片描述

case when [value1] then[result1]….else[default]end:如果value1是真,返回result1,否则返回result

SQL语句:

select 
 id,name,score,
case
	 when score >= 90 then '优秀'
	 when score >=80 then '良好'
	 when score >=60 then '及格'
	 else '不及格'
end as '等级'
from stu_score;

在这里插入图片描述

Oracle函数差异

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值