If
函数说明
在
mysql
中
if()
函数的用法类似于
java
中的三目表达式,其用处也比较多,具体语法如下:
IF
(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。
MySQL
中,if
函数使用非常广泛,支持的类型也很多。我们可以自定义if
函数并实现其功能,但并不是能够百分百富县MySQL
的if
函数功能。所以只能根据应用所用场景或者功能定制写if
函数。下面写几个例子。
自定义IF函数例子
第二、三个参数是一样的数据类型。
create
or
replace
function
if
(bln
boolean
,inValue1 anyelement,inValue2 anyelement)
returns
anyelement
as
$$
begin
if
bln=
true
then
return
inValue1
;
else
return
inValue2
;
end
if
;
end
;
$$
language
plpgsql
;
第二、三个参数都是varchar类型:
create or replace function if(bln boolean,inValue1 VARCHAR,inValue2 VARCHAR)
returns varchar as
$$
begin
if bln=true then
return inValue1;
else
return inValue2;
end if;
end;
$$
language plpgsql;
第二、三个参数都是numeric类型:
create or replace function if(bln boolean,inValue1 numeric,inValue2 numeric)
returns numeric as
$$
begin
if bln=true then
return inValue1;
else
return inValue2;
end if;
end;
$$
language plpgsql;
如果有其他情况,按照使用场景的数据类型进行更换便是,需要注意的是返回值的数据类型要保持一致。