2016-11-10 103 views
2

您好我是psql的新手,我有一个问题,我有一个VARCHAR作为变量在函数中,我想在它之前和之后添加空格。类似这样的:psql添加空格到文本

CREATE FUNCTION func(word VARCHAR) 
RETURNS VARCHAR 
AS 
$word2$ 
DECLARE 
word VARCHAR; 
word2 VARCHAR; 
BEGIN 
word2 = ' ' word ' ' ; 
RETURN word2; 
END; 
$word2$ 
LANGUAGE plpgsql ; 

有没有一个快速简单的方法? 谢谢。

+0

您可以连接字符串与''||操作:https://www.postgresql.org/docs/9.1/static/functions-string.html – Enwired

回答

0

声明:

word VARCHAR; 

,但你必须用相同名称的说法:

CREATE FUNCTION func(word VARCHAR) 

会发生什么事是:函数忽略参数的话,因为你重新声明它。从docs

如果再没有给出DEFAULT子句的变量初始化为 的SQL空值

您不必:= 'come value'word VARCHAR,使其成为空。

在另一方面连接符||不会忽略NULLconcat()功能,所以' ' word ' '结果永远是NULL,不管是什么。

这里是例如工作功能:

t=# CREATE OR REPLACE FUNCTION func(word VARCHAR) 
RETURNS VARCHAR 
AS 
$word2$ 
BEGIN 
    RETURN ' '||word||' '; 
END; 
$word2$ 
LANGUAGE plpgsql ; 
CREATE FUNCTION 
Time: 13.018 ms 
t=# select func('text'); 
    func 
-------- 
    text 
(1 row) 

Time: 0.260 ms 
相关问题