Mysql的函数使用方法

今天有点临时需求要计算一张表的结果,不想写代码,想到了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表示客场胜。

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

来自为知笔记(Wiz)

时间: 2024-08-25 13:27:15

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

MySQL concat函数的使用

MySQL concat函数是MySQL数据库中众多的函数之一,下文将对MySQL concat函数的语法和使用进行说明,供您参考和学习. MySQL concat函数使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串. 一个数字参数被转化为与之相等的二进制字符串格式:若要避免这种情况,

MySQL的几种表外连接及PHP操作MySQL的函数

内连接 按照条件,将左表的每天记录匹配右表,如果条件符合,字段内容将会被保存,如果不符合,则不会被保存: 语法: select  *|字段列表 from 左表 inner join 右表 on 左表.字段=右表.字段...; Inner 可以省略掉: 简约版语法 select  *|字段列表 from 左表 join 右表 on 左表.字段=右表.字段....; 外连接 左外连接 语法: select  *|字段列表 from 左表 left  join 右表 on 左表.字段=右表.字段...

MySQL修改时区的方法小结

这篇文章主要介绍了MySQL修改时区的方法,总结分析了三种常见的MySQL时区修改技巧,包括命令行模式.配置文件方式及代码方式,需要的朋友可以参考下 方法一:通过mysql命令行模式下动态修改 1.1 查看mysql当前时间,当前时区 > select curtime(); #或select now()也可以 +-----------+ | curtime() | +-----------+ | 15:18:10 | +-----------+ > show variables like &q

MySQL创建函数报“ERROR 1418 ”错误,不能创建函数

MySQL创建函数报ERROR 1418错误,不能创建函数,根据官方提示是说,不能创建函数可能是一个安全设置方面的配置或功能未开启原因,下面我们一起来看. 错误 ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less

MySql查询时间段的方法

本文实例讲述了MySql查询时间段的方法.分享给大家供大家参考.具体方法如下: MySql查询时间段的方法未必人人都会,下面为您介绍两种MySql查询时间段的方法,供大家参考. MySql的时间字段有date.time.datetime.timestamp等,往往我们在存储数据的时候将整个时间存在一个字段中,采用datetime类型:也可能采用将日期和时间分离,即一个字段存储date,一个字段存储时间time.无论怎么存储,在实际应用中,很可能会出现包含"时间段"类型的查询,比如一个访

MySQL拼接函数使用介绍

MySQL拼接函数使用介绍: MySQL常见的拼接的函数有3种concat concat_ws group_concat下面简单介绍下MySQL拼接函数的concat_ws和concat的使用,具体的使用方法可以登录MySQL shell 进行help concat ; concat concat_ws ; concat_ws group_concat 来查看帮助 一.CONCAT()函数介绍: 1.1CONCAT()函数介绍: CONCAT()函数用于将多个字符串连接成一个字符串,但是它不能指

unity中三种调用其他脚本函数的方法

第一种,被调用脚本函数为static类型,调用时直接用  脚本名.函数名().很不实用-- 第二种,GameObject.Find("脚本所在物体名").SendMessage("函数名");  此种方法可以调用public和private类型函数 第三种,GameObject.Find("脚本所在物体名").GetComponent<脚本名>().函数名();此种方法只可以调用public类型函数 unity中三种调用其他脚本函数的

matlab中同一文件定义子函数的方法

在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同在一个m文件中通常有两种定义子函数的方法: 1.嵌套定义 myfunc1会和主函数共享变量名.这种情况下,使用相同的变量名,如果不是故意为之,就不合适了.function mainFunc(... a = myfunc1();...function myfunc1()...end end2. 非嵌套定义function mainFunc()...a = myfunc1();...end functi

MySQL字符串函数、日期时间函数

MySQL字符串函数.日期时间函数 一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左.取右 6.LENGTH   获取长度(字节为单位) 7.LTRIM/RTRIM/TRIM 去空格(左/右/自定义) 8.STRCMP  字符串比较 9.CONCAT  字符串拼接 10.SUBSTRING  字符串截取 1.CHAR_LENGTH:获取长度(字符