自定义函数
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之和:
- 相关文章
- 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
- 我的项目
- 【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