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

 

posted @ 2016-04-08 16:24  songlihong  阅读(139)  评论(0编辑  收藏  举报