函数的语法(标准模版)

自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL,所以UDF是对MySQL功能的一个扩展

创建和删除自定义函数语法:

创建UDF:

  1.   CREATE [AGGREGATE] FUNCTION function_name(parameter_name type,[parameter_name type,...])
  2.   RETURNS {STRING|INTEGER|REAL}
  3.   runtime_body

简单来说就是:

  CREATE FUNCTION 函数名称(参数列表)

  RETURNS 返回值类型

  函数体

删除UDF:

  DROP FUNCTION function_name

调用自定义函数语法:

  SELECT function_name(parameter_value,...)


举几个例子

例子1

简单的函数

  1. CREATE FUNCTION simpleFun() RETURNS VARCHAR(20)
  2. BEGIN
  3. RETURN "Hello World!";
  4. end;

使用函数

  1. select simpleFun();

说明:

UDF可以实现的功能不止于此,UDF有两个关键点,一个是参数,一个是返回值,UDF可以没有参数,但UDF必须有且只有一个返回值

例子2

  1. CREATE TABLE son (
  2. id INT NOT NULL,
  3. name VARCHAR(20),
  4. pay INTEGER
  5. );
  6. INSERT INTO son (id, name, pay) VALUES (1,‘bol‘,20);
  7. INSERT INTO son (id, name, pay) VALUES (2,‘davie‘,2220);
  8. SELECT * FROM son;
  9. DROP FUNCTION IF EXISTS deleteById;
  10. CREATE FUNCTION deleteById(uid SMALLINT UNSIGNED)
  11. RETURNS VARCHAR(20)
  12. BEGIN
  13. DELETE FROM son WHERE id = uid;
  14. RETURN (SELECT COUNT(id) FROM son);
  15. END
  16. select deleteById(2);

这里我们是单步执行的,所以,我们可以不定义DELIMITER,DELIMITER的意思是定义默认的结束符号!

DELIMITER // 意思是修改默认的结束符";"为"//",以后的SQL语句都要以"//"作为结尾

在函数体重我们可以使用更为复杂的语法,比如复合结构/流程控制/任何SQL语句/定义变量等等

这个函数把‘2009-06-23 00:00:00‘转换为一个特定的字符串

  1. DELIMITER $$
  2. DROP FUNCTION IF EXISTS `test`;
  3. CREATE FUNCTION `test`(gdate datetime) RETURNS varchar(255)
  4. BEGIN
  5. DECLARE x VARCHAR(255) DEFAULT ‘‘;
  6. SET x= date_format(gdate,‘%Y%m%d%h%i%s‘);
  7. RETURN x;
  8. END $$
  9. DELIMITER ;
  10. SELECT test(‘2009-06-23 00:00:00‘)

这个函数截取字符串

  1. DELIMITER $$
  2. DROP FUNCTION IF EXISTS cutString ;
  3. CREATE FUNCTION cutString(s VARCHAR(255),n INT) RETURNS varchar(255)
  4. BEGIN
  5. IF(ISNULL(s)) THEN RETURN ‘‘;
  6. ELSEIF CHAR_LENGTH(s)<n THEN
  7. RETURN s;
  8. ELSEIF CHAR_LENGTH(S)=n THEN
  9. RETURN ‘相等‘;
  10. ELSE 
  11. RETURN CONCAT(LEFT(s,n),‘...‘);
  12. END IF;
  13. END $$
  14. DELIMITER ;
  15. SELECT cutString(‘323432234‘,4);

函数的模版

时间: 2024-12-12 04:00:51

函数的语法(标准模版)的相关文章

Haskell函数的语法

本章讲的就是 Haskell 那套独特的语法结构,先从模式匹配开始.模式匹配通过检查数据的特定结构来检查其是否匹配,并按模式从中取得数据. 在定义函数时,你可以为不同的模式分别定义函数本身,这就让代码更加简洁易读.你可以匹配一切数据类型 --- 数字,字符,List,元组,等等.我们弄个简单函数,让它检查我们传给它的数字是不是 7. lucky :: (Integral a) => a -> String   lucky 7 = "LUCKY NUMBER SEVEN!" 

Python3学习之路~3.1 函数基本语法及特性、返回值、参数、局部与全局变量

1 函数基本语法及特性 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义: 1 def sayhi():#函数名 2 print("Hello, I'm nobody!") 3 4 sayhi() #调用函数 可以带参数 1 #下面这段代码 2 a,b = 5,8 3 c = a**b 4 print(c) 5 6 7 #改成用函数写 8 def calc(x,y)

Trie树标准模版

这是一个Trie树标准模版 By Leo 本人版权,请勿抄袭!! 先看教程:  1. 什么是trie树 1.Trie树 (特例结构树) Trie树,又称单词查找树.字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高.      Trie的核心思想是空间换时间.利用字符串的公共前缀来降低查询时间的开销以达到提高效率

Python 3.x中使用print函数出现语法错误(SyntaxError: invalid syntax)的原因

在安装了最新版本的Python 3.x版本之后, 去参考别人的代码(基于Python 2.x写的教程),去利用print函数,打印输出内容时,结果却遇到print函数的语法错误: SyntaxError: invalid syntax 这是因为Python 2.x升级到Python 3.x,print函数的语法变化了,所以用Python 2.x的print函数的代码,放在Python 3.x中运行,结果就出现了print函数的"SyntaxError: invalid syntax"了

fortran 函数的调用标准

Fortran函数的调用标准在编译时使用iface声明.如iface:default.表示採用的是default标准. fortran的调用标准有 [1] default: Tells the compiler to use the default calling conventions. [2] cref: Tells the compiler to use calling conventions C, REFERENCE. [3] cvf:Tells the compiler to use

100多个基础常用JS函数和语法集合大全

网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)5.得到表单中元素的名称和值:document.getElementById

.NET中是否可用标准模版库(STL)

分析问题 标准模版库(STL)实在惠普实验室开发出来的一套算法类库的集合,从概念上主要区分为三大部分: 1.算法(algorithm). 2.容器(container). 3.迭代器(iterrator). STL的设计都致力于打造通用的算法和类库,例如一个排序的算法,可能针对包含不同类型元素的集合进行排序.在C++中,这样的通用性需要依靠模版来实现,而在.NET中,则依靠泛型..NET中的STL类库有Wintellect团队开发完成,类库名称为Power Collections,作为一个通用的

基础常用JS函数和语法

100多个基础常用JS函数和语法集合大全 来源:http://www.cnblogs.com/hnyei/p/4605103.html 网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏览器窗口中的DOM顺序是:window->(navigator,scr

dart语言匿名函数与=&gt;语法

dart语言匿名函数与=>语法 => expr 等同于{ return expr; } 匿名函数的参照如下: ([[Type] param1[, -]]) { codeBlock; }; 例子 (context) => HomePage(widget.isDark, themeChanger) 上面的语句翻译过来就是 func_name(context){return HomePage(widget.isDark, themeChanger);} 原文地址:https://www.cnb

php函数基本语法之自定义函数

PHP提供了功能强大的函数,但这远远满足不了需要,程序员可以根据需要自己创建函数.本节就开始学习创建函数的方法.大理石平台价格表 我们在实际开发过程当中需要有很多功能都需要反复使用到,而这些反复需要使用到的功能,我们能定义成功能(函数),就尽可能定义成功能(函数).使用的时候,吼一下它的名字即可. 那我们来学一下自定义函数的语法规定,语法规定如下: function 函数名([参数名1[=值1], 参数名2[=值2], 参数名n[=值n]]) {        函数中的功能体     [retu