如何创建字符串连接运算符,它在Postgres中的CHAR(n)类型列上保留尾随空格? 我试过下面的代码,但是
create temp table test (col1 char(2)) on commit drop;
insert into test values ('A');
select col1 + 'B'
from test;
返回AB
(不含空格)。
如何强制它返回A B
(在A之后保留空格,因为A类型是char(2)),以便表达式col1 + 'B'
保持不变?
如果左参数类型为CHAR(n)
,如何保留左参数尾随空格?
CREATE OR REPLACE FUNCTION public.stringconcat(left text, right text)
RETURNS text
LANGUAGE sql IMMUTABLE
AS $BODY$
SELECT $1::text || $2::text ;
$BODY$;
CREATE OPERATOR public.+ (
leftarg = text,
rightarg = text,
procedure = public.stringconcat
);