gpt4 book ai didi

sql - 如何创建在 char(n) 中保留尾随空格的字符串连接运算符

转载 作者:行者123 更新时间:2023-11-29 13:02:37 24 4
gpt4 key购买 nike

如何创建在 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
);

最佳答案

使用string functions

SELECT concat('A'::char(2), 'B');

关于sql - 如何创建在 char(n) 中保留尾随空格的字符串连接运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com