在PostgreSQL中的concat

ish*_*shk 2 sql string postgresql string-concatenation

我使用postgresql创建了一个函数。但是,当我尝试执行此函数时,它会返回错误。错误"ERROR: syntax error at or near "||"

CREATE OR REPLACE FUNCTION search_address_book(address_ids character)
  RETURNS void AS
$BODY$ 
SET sqlStatement = 'select * from addressbook';
SET address_ids = 'Post' || 'greSQL';
$BODY$
LANGUAGE 'sql' STABLE
COST 100;
Run Code Online (Sandbox Code Playgroud)

我的服务器版本是8.3.14。错了吗 我如何在PostgreSQL中连接两个字符串?

Clo*_*eto 5

要使用变量,您需要一个plpgsql函数:

CREATE OR REPLACE FUNCTION search_address_book(address_ids character)
  RETURNS void AS
$BODY$
declare
   sqlStatement text;
   address_ids text;
begin
   sqlStatement := 'select * from addressbook';
   address_ids := 'Post' || 'greSQL';
end
$BODY$
LANGUAGE plpgsql STABLE;
Run Code Online (Sandbox Code Playgroud)