Postgresql流水帐(第三天):Calling Functions
函数调用, 这个简单
CREATE FUNCTION concat_lower_or_upper(a text, b text, uppercase boolean DEFAULT false)
RETURNS text
AS
$$
SELECT CASE
WHEN $3 THEN UPPER($1 || ' ' || $2)
ELSE LOWER($1 || ' ' || $2)
END;
$$
LANGUAGE SQL IMMUTABLE STRICT;
一句话:postgresql 既支持位置参数,也支持 命名参数,或者二者混搭。
函数定义,有点像 C和python的合体
改个C 版的:
text concat_lower_or_upper(a text, b text, uppercase)
{
If (uppercase == true)
{
Upper(strcat(a, b);
}
Else
{
Lower(strcat(a,b);
}
}
改个Python的:
def lower_or_upper(a, b, uppercase=True):
if uppercase:
return (a+b).uppercase
else:
return (a+b).lowercase
这篇流的轻松,上篇虐杀脑细胞。另外,还是Python好流 J J J