今天有点临时需求要计算一张表的结果,不想写代码,想到了mysql的自定义函数。碰到了很多问题,为了方便一下使用,在此记录一下。


需求:一张表中,有比分,需要查询出比赛id和比赛结果。
分析:
    单表查询没啥的,困难就困难在怎么判断比分之后返回想要的结果。
    这里我把比赛结果分别定义代号,1主场胜、2平局、3客场胜
    函数逻辑:
           接收两个参数,判断参数的大小,分别返回结果。

实现:

Navicat操作:

            navicat for mysql 工具内--创建函数
        
    
    这里分别是存储过程和函数,我们选择函数
    

    设置参数,这里的参数是接收的参数,例如 count(id) 接收一个参数
    

    下一步,设置返回类型
    
    点击完成即可。会出现以下界面
    
    
    现在开始在BEGIN ..END;;中间写逻辑,具体语法需要百度。

    我这里主要是if...elseif..else的逻辑,代码如下:
    

    保存--getMatchResult。如果语法有错误,保存会报错,根据提示信息去查找错误。
    

    使用函数:
    我这里为了方便,直接写了两个参数,结果跟预想一样。  第一个参数是主场分数,第二个参数是客场分数,3表示客场胜。
    
    

Mysql 创建函数

    进入mysql shell,因为中间有很多分号,所以需要使用delimiter分界。该命令表示,把默认的分号执行改成其他符号执行。
    
    
    这里使用demiter修改分解符为// ,如果还是使用分号分界则报错了。使用//分界执行后,显示正常。

    创建函数(注意使用//分界)
    
    
    使用函数
    分号结尾没效果,必须要用// ,除非退出mysql shell重新登录。返回结果是我们需要的,第2个参数为客场。3表示客场胜。
    

到此简单试用完成,临时查询很方便。



    

Mysql的函数使用方法的更多相关文章

  1. mysql find_in_set 函数 使用方法

    mysql> select * from user; +------+----------+-----------+ | id | name | address | +------+------ ...

  2. MySQL - FIND_IN_SET 函数使用方法

    SELECT * FROM xxxTableName x WHERE FIND_IN_SET(x.id, '1,2,3,4,5,6,7,8');   如上查询,意为:xxxTableName 表中 x ...

  3. MySQL concat函数的使用

    MySQL concat函数是MySQL数据库中众多的函数之一,下文将对MySQL concat函数的语法和使用进行说明,供您参考和学习. MySQL concat函数使用方法:CONCAT(str1 ...

  4. [转载]MySQL concat函数的使用

    MySQL concat函数是MySQL数据库中众多的函数之一,下文将对MySQL concat函数的语法和使用进行说明,供您参考和学习. MySQL concat函数使用方法:CONCAT(str1 ...

  5. Mysql时间函数

    http://blog.sina.com.cn/s/blog_6d39dc6f0100m7eo.html mysql中函数和关键字不区分大小写.下文函数的datetime参数处既可以用时间字符串也可以 ...

  6. php mysql 中文乱码解决方法

    本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...

  7. MySQL修改时区的方法小结

    这篇文章主要介绍了MySQL修改时区的方法,总结分析了三种常见的MySQL时区修改技巧,包括命令行模式.配置文件方式及代码方式,需要的朋友可以参考下 方法一:通过mysql命令行模式下动态修改 1.1 ...

  8. Mysql group_concat函数被截断的问题

    mysql group_concat函数被截断的问题   MySQL的 group_concat 函数默认返回1024个字节长度,超过长度的会被截断.最近程序中就遇到这个问题了. 通过如下命令可以查看 ...

  9. MySQL 数学函数

    MySQL 数学函数 所有的数学函数在发生错误的情况下,均返回 NULL. -元减.改变参数的符号 mysql> SELECT - 2; -> -2 注意,如果这个操作符被用于一个 BIG ...

随机推荐

  1. Android 文字链接 文字点击时的背景颜色

    案例:实现“忘记密码?”这个链接,并且在按下的时候改变颜色. 方法一:这个可以用TextView实现: 主界面main.xml: <?xml version="1.0" en ...

  2. java CMS gc解析

    转载: http://www.blogjava.net/killme2008/archive/2009/09/22/295931.html     CMS,全称Concurrent Low Pause ...

  3. 【疯狂Java讲义学习笔记】【数据类型与运算符】

    [学习笔记]1.8bit = 1byte,4byte = 1word.Java中的整型数据有byte(1字节),short(2字节),int(4字节),long(8字节).Java中的浮点数据有flo ...

  4. C++中 模板Template的使用

    1.在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?答:class用于定义类,在模板引入c++后,最初定义模板的方法 ...

  5. HDU4857——逃生(反向建图+拓扑排序)(BestCoder Round #1)

    逃生 Description 糟糕的事情发生啦,现在大家都忙着逃命.但是逃命的通道很窄,大家只能排成一行. 现在有n个人,从1标号到n.同时有一些奇怪的约束条件,每个都形如:a必须在b之前.同时,社会 ...

  6. movzbl和movsbl

    汇编语言中最最常用的指令 -- 数据传送指令,也是我们接触的第一种类别的汇编指令.其指令的格式为:“mov 源操作数, 目的操作数”.mov系列支持从最小一个字节到最大双字的访问与传送.其中movb用 ...

  7. WCF 传输的序列化

    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService”.[ServiceContract]public interface IService{ [O ...

  8. 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...

  9. jquery uploadify上传文件插件导致浏览器崩溃问题解决方法

    自谷歌浏览器更新到(版本39.0.2171.99 )后,访问上传文件界面浏览器就崩溃了,而其他的浏览器不会出现问题. 出现这种问题的原因就是谷歌浏览器缓存问题,但将访问该jsp页面路径添加上时间戳后无 ...

  10. 在Vim里使用gtags-cscope

    用Vundle安装好gtags-cscope后,要在vimrc里添加如下设置: " cscopeset cscopetag                  " 使用 cscope ...