自定义函数
首页->学习资料->微服务治理->sql教程 关键词: 发布时间:2014-12-25 08:02:25 浏览次数:1504

自定义函数
1、变量
字段名、系统内置变量、用户自定义变量(要用@作为变量名的前缀,用于区分系统内置变量)
2、变量赋值
set 变量名=变量值
如:set @str='hello world';
3、变量取值
select 变量名;
如:select @str;
输出:hello world
4、编程的实现
一共有三种编程方式:触发器、存储函数(自定义函数)、存储过程
5、内置函数
内置函数
例子:
1到100间的随机数:select floor(rand()*100)+1;

字符截取:select substring('hello',2,2);
结果:el(这与php不同,从下标1开始,以字符为单位,上例hello改成中文,也会显示从第二个汉字开始的两个字符);

char_length()字符数量;
length()字节长度
convert(?? using 编码格式);

6、自定义函数
1先修改定界符为$$:delimiter $$
2选择数据库(函数是存储在某个数据库内的,因此与库是相关的)
3建立一个hello_world()函数
create function hello_word(name varchar(10)) returns varchar(20)
begin
    return concat('hello',name);
end
4调用函数:select hello_word('word');
输出结果:hello word

如果不是在建立函数时所在库中调用,会提示函数不存在;


7、函数局部变量与函数外全局变量的作用域问题

在函数内,可以访问到函数外所定义的全局变量!(变量前加@)

局部变量:

在函数内部通过declare定义局部变量,函数外部无法访问到,如:

declare v1 char(10) default 'hello world';


流程控制

分支

         if条件 then 语句

         elseif 条件 then 语句

         else  语句

         endif;

循环

         while条件 do

         循环体

         endwhile;

示例:求1-N之和:

赞:(0)
踩:(0)
相关文章
find_in_set在集合中查找
sql查询自定义排序field函数
sql显示表结构及索引
sql修改表
添加、删除索引
sql分组
sql子查询
sql多表更新
sql建表同时插入数据
sql多表删除
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:607篇
浏览数:946734
粤ICP备18028092号-1  微信:hurong241