数据库学习笔记和小练习(14)函数

函数分为系统函数和自定义函数。

一、系统函数

1 文本处理函数

select lower(Sdept) as Sdept_lower
from student
order by Sdept;

常用举例:

lower() 函数将文本转化为小写。

upper()  ->  将文本转化为大写

left()   ->   返回串左边的字符

length()  ->  返回串的长度

locate()  -> 找出串的一个子串

ltrim()  ->  去掉串左边的空格

rtrim() ->   去掉串右边的空格

right() ->   返回串右边的字符

substring() -> 返回子串的字符

set @cn = '你好';
set @en = 'hello';

select substring(@cn,1,2);
select substring(@en,1,5);
@cn 从角标1开始截取两个,显示你好。

@en 从角标1开始截取五个,显示hello。


2 日期时间函数

常用举例:

CurDate();  返回当前日期

curtime();  返回当前时间

Date();   返回日期时间的日期部分

Date_format()  返回一个格式化的日期或时间串

Day()  返回一个日期的天数部分

dayofweek()  返回日期是星期几

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


select id
from orders
where date(order_date) between '2015-01-01' and '2016-03-12';

order_date是datetime类型,year()可以取出它的年,month()可以取出它的月


3 数值处理函数

abs()  返回绝对值

mod()  返回除操作的余数

rand()  返回一个随机数



二、自定义函数

函数和存储过程类似,都是持久性模块,函数的定义和存储过程类似,不同之处在于函数必须指定返回的类型

创建函数:

create function 函数名([参数列表])returns 数据类型

begin

函数体

返回值(指定的数据类型)

end;

create function display1() returns int
return 100;

执行:select 函数名(参数);

select display1();
查看函数:

show function status\G;

发现函数是属于创建时所在数据库的。

查看函数创建:

show create function display1\G;

函数可以修改,但是只能修改函数名,对于函数本身,只能先删除,再新建。

drop function display1;
注意这里是函数名,不加括号。


带参数的函数:求1到n的和

delimiter //
create function sum1(n int)returns int
begin
set @i = 1;
set @res = 0;

while @i <= n
do
set @res = @res + @i;
set @i = @i + 1;
end//
delimiter ;

select sum1();






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值