/*case 使用方式一*/
SELECT
id,
CASE WHEN `name` = '鸭脖子' THEN '鸡屁股' ELSE `name` END `name`,
inv_Number
FROM
s_unit_user_inventory;
/*case 使用方式二*/
SELECT
id ,
CASE `name` WHEN '鸭脖子' THEN '鸭屁股' ELSE `name` END `name`,
inv_Number
FROM s_unit_user_inventory;
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;