以下两种数据类型之间有什么区别?
我认为当我们想要使用“长度”约束时,可以使用character varying[]。但是,从我在pgAdmin中看到的情况来看,我们也可以在character varying中使用这个约束。

发布于 2020-12-27 15:53:29
文本与文本数组。它表示单个用户名,并可能存储为VARCHAR(100)类型数组的多封电子邮件。
CREATE TABLE tab(
username character varying(100),
email character varying(100)[]
);
INSERT INTO tab(username, email) VALUES ('user', '{"a@domain.com", "b@domain.com"}');
SELECT *, email[1], email[2]
FROM tab;输出:
+-----------+------------------------------+---------------+--------------+
| username | email | email | email |
+-----------+------------------------------+---------------+--------------+
| user | {a@domain.com,b@domain.com} | a@domain.com | b@domain.com |
+-----------+------------------------------+---------------+--------------+发布于 2020-12-27 15:49:40
“字符变化”(简称varchar )是一个长度不同的字符串(text)字段(在您的情况下最多可达100个字符)。[]表示数组。也就是说,“字符varying[]”是这类“字符可变”字符串的数组。
https://stackoverflow.com/questions/65467524
复制相似问题