mysql case函数跟自定义函数的基本语法及使用方式

/*case 使用方式一*/
SELECT
	id,
CASE WHEN `name` = '鸭脖子' THEN '鸡屁股' ELSE `name` END `name`,
 inv_Number
FROM
	s_unit_user_inventory;


 
  

mysql case函数跟自定义函数的基本语法及使用方式_第1张图片

/*case 使用方式二*/
SELECT
      id ,
      CASE `name` WHEN '鸭脖子' THEN '鸭屁股' ELSE `name` END `name`,
      inv_Number
FROM s_unit_user_inventory;


mysql case函数跟自定义函数的基本语法及使用方式_第2张图片


mysql创建自定义函数


/*创建自定义函数,求指定数之间的和*/

delimiter $$ /*修改临时语句结束符*/

CREATE FUNCTION sun(num int) RETURNS INT

BEGIN
	/*定义条件变量,注意用@符号定义的变量是全局的,也就是说在外面也可以访问*/
		SET @flg = 1;	/*循环结束变量开关*/
		SET @res = 0;	/*用来保存最终结果*/

		WHILE @flg <= num DO	/*当条件满足时进入循环*/

		SET @res = @res + @flg; /*注意:mysql里没有+= -=这种概练*/

		SET @flg := @flg + 1;		/*只能用这种方式赋值*/
		/* 【备注】 := 符号的说明 在mysql中 := 才是真正意义上的赋值操作,把右边的值赋给左边的变量
			= 则只在一种情况下作为赋值用,
			就是在SET语句里面,如: SET id = 50 除此之外 = 则是作为比较操作符使用的
			当然我这里完全可以用 = 来进行赋值,但人家Mysq已经专门设计了一个专门的赋值符号 :=
			所以我只要是赋值操作都是使用 := 来完成,这样可避免出错
		*/
		END WHILE;	/*结束循环*/

	RETURN @res;	/*返回结果*/

END 
/*语句结束*/
$$
/*将临时语句结束符改回成 ; */
delimiter ;

/*函数查看语句*/
SELECT sun(100);

/*函数删除语句*/
DROP FUNCTION sun;

mysql case函数跟自定义函数的基本语法及使用方式_第3张图片



mysql case函数跟自定义函数的基本语法及使用方式_第4张图片




你可能感兴趣的:(mysql)