存储函数

创建存储函数,需要使用CREATE FUNCTION语句,基本语法如下:

CREATE FUNCTION func_name([func_parameter])RETURNSTYPE[characteristics...] routine_body

CREATE FUNCTION为用来创建存储函数的关键字;func_name表示存储函数的名称

func_parameter为存储函数的参数列表,参数列表如下

其中,IN表示输入参数,OUT表示输出参数,INOUT表示既可以输入也可以输出;

param_name表示参数名称;type表示参数类型,该类型可以是MYSQL数据库中的任意类型

RETURNS TYPE语句表示函数返回数据的类型;characteristics:指定存储函数的特性,取值与创建存储过程时相同

创建存储函数,名称为NameByT,该函数返回SELECT语句的查询结果,数值类型为字符串型

CREATE FUNCTIONSelectByT()RETURNS VARCHAR(255);RETURN (SELECT NAME FROM T3 WHERE ID=3);

注意:RETURNS CHAR(50)数据类型的时候,RETURNS 是有S的,而RETURN (SELECT NAME FROM t3 WHERE id=2)的时候RETURN是没有S的

所以有时候大家可能觉得MYSQL很烦,谁不知是自己写错了

这里有一个方法,就是利用SQLYOG的代码格式化功能,选中要格式化的代码,然后按F12,如果能格式化,证明你的代码没有问题,如果不能格式化

证明你写的代码有问题!!!

调用函数

变量的使用

变量可以在子程序中声明并使用,这些变量的作用范围是在BEGIN...END程序中

1、定义变量

在存储过程中定义变量

DECLARE var_name[,varname]...date_type[DEFAULT VALUE];

var_name为局部变量的名称。DEFAULT VALUE子句给变量提供一个默认值。值除了可以被声明为一个常数外,还可以被指定为一个表达式。

如果没有DEFAULT子句,初始值为NULL

DECLARE MYPARAM INT DEFAULT 100;

2、为变量赋值

定义变量之后,为变量赋值可以改变变量的默认值,MYSQL中使用SET语句为变量赋值

SET var_name=expr[,var_name=expr]...

在存储过程中的SET语句是一般SET语句的扩展版本。

被SET的变量可能是子程序内的变量,或者是全局服务器变量,如系统变量或者用户变量

他运行SET a=x,b=y,....

声明3个变量,分别为var1,var2和var3

DECLARE par1,par2,par3 INT;SET par1=10,par2=10;SET par3=par1+par2;

MYSQL中还可以通过SELECT...INTO为一个或多个变量赋值

DECLARE NAME CHAR(50);DECLARE ID DECIMAL(8,2);SELECT NAME, ID INTO NAME ,ID FROM T3;

mysql java自定义函数_Mysql自定义函数总结相关推荐

  1. mysql 事件 函数_MySQL 自定义函数和存储过程的使用

    MySQL支持自定义函数和存储过程,创建函数和存储过程分别使用CREATE PROCEDURE和CREATE FUNCTION,两者在语法结构上比较相似,但是它们的使用方法及使用场景有所有不同. 1. ...

  2. rds支持mysql自带函数吗_MySQL自定义函数(CREATE FUNCTION)

    在使用MySQL的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数.自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和过程式 ...

  3. mysql支持自定义函数_MySQL 自定义函数

    自定义函数概念 用户自定义函数(user-defined function, UDF)是一种对MySQL扩展的途径, 其用法与内置函数相同. 自定义函数的两个必要条件: 参数 返回值 (只能有一个) ...

  4. mysql自定义存储过程_MySQL自定义函数、触发器、存储过程

    存储过程 概念 存储过程,是一个数据库对象,类似一个函数. 在存储过程中可以使用SQL中的绝大部分内容,并且可以加入编程语言的特性(循环判断分支). 编写好存储过程之后,可以在客户端调用存储过程,存储 ...

  5. mysql 字符串 截取字母_MySQL字符串函数:字符串截取

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  6. mysql逗号分隔函数_mysql split 函数(用逗号分隔)的实现

    1:定义存储过程,用于分隔字符串 DELIMITER $$ USE `mess`$$ DROP PROCEDURE IF EXISTS `splitString`$$ CREATE DEFINER=` ...

  7. mysql 正无穷字符_mysql 字符串函数收集比较全

    ASCII(str)返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回NULL. mysql> select ASCII('2'); - ...

  8. mysql count转字符串_MySQL字符串函数

    把字符串转成小写 mysql> select sex,LCASE(job) from string_test where job='DUCK';+------+------------+ | s ...

  9. mysql信息函数和加密函数_MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)...

    一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...

最新文章

  1. linux下jdk/maven/tomcat
  2. python考证什么时候报名-2019年3月上海计算机二级考试报名时间安排 什么时候报名...
  3. java结构设计_Java基本的程序设计结构(一)
  4. oracle 数据导入 mysql_oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)...
  5. Java开发大厂面试资料,让你的面试不再困难!
  6. Arrays工具类的常用方法
  7. 中国科学院大学2017年高等代数考研试题
  8. 日志查看工具 logviewer pro的使用
  9. 如何使用Aspose.pdf读取 增值税发票pdf文件内容 和 解二维码
  10. PHP微信公众号服务器配置
  11. excel2007打开后是显示为灰色解决办法
  12. 广州海客智能机器人:为什么要让孩子从小学习机器人课程
  13. LeetCode311 稀疏矩阵的乘法
  14. Debian系统源码安装usb网卡驱动
  15. 计算机的应用安全包括哪些方面,计算机软件的分类有哪些
  16. 关于网站性能优化,一张思维导图够了
  17. 构筑自有流量池,电商宝SCRM(微信公众号和个人号管家)助力企业打赢粉丝争夺战...
  18. 统计图表导入word,用到echarts,highcharts,amcharts,jfreechart
  19. jqgrid中treegrid记录属性lft和rgt的计算
  20. chrome 开发者工具主体设置成黑色主题

热门文章

  1. C++学习(八)(C语言部分)之 图形库
  2. 几种Wiki文档系统比较:Teambition thoughts 语雀 Notion GitHubWiki Confluence
  3. html怎么调用node.js,javascript – 在HTML中使用Node.js模块
  4. 关于python内存管理下列说法中错误的是_2.关于Python内存管理,下列说法错误的是_学小易找答案...
  5. 设计师应急设计PE (19043)windows准系统 RAMOS/PE 直接 Administrator登录
  6. Linux中bash
  7. 数据结构与算法-自定义双向链表API
  8. 4月6日云栖精选夜读:你想知道关于雄安新区的一切,都在这儿。
  9. PHP敏感词匹配算法,敏感词检测算法小结
  10. python递归实现二分查找_python二分查找算法的递归实现