2016-11-10 106 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 
相關問題