很短的问题。谁能说出为什么这个查询
select LENGTH(' '::char || ' '::char), LENGTH(' '::text || ' '::char), LENGTH(' ' || ' '), LENGTH('a'::char || 'b'::char);
返回
0 1 2 2
空格是不与其他字符串连接的特殊字符吗?
文档只说:
Unless otherwise noted, all of the functions listed below work
on all of these types, but be wary of potential effects of
automatic space-padding when using the character type.
为什么我这样做?因为我在存储过程中逐个字符地构建字符串,当我尝试将 varchar 与 char 连接时,什么也没有发生。