我们在通过pgadmin工具创建表字段时,仅char字符就有4种不同的类型.
简单总结以下这四种类型的用法:
char:固定长度字符串,pgadmin中无法修改此类型的长度,默认长度为1.
char[]:固定长度字符串,用来存储数组类型的数据,pgadmin中无法修改此类型的长度,默认长度为1.
character:固定长度字符串,pgadmin中可以修改此类型的长度
character[]:固定长度字符串,用来存储数组类型的数据,pgadmin中可以修改此类型的长度
测试如下:
insert into ods.my_table(id,code,name,address)
values(‘abc’,array[‘ab’,‘ac’],‘abc’,array[‘ab’,‘ac’])
通过字段的类型,可以验证上述的结论.
通过插入表中的数据,我们也可以看出,char和char[]只保存了一个字符长度.character和character[]在字符长度不足10位时,后面会用空格补齐.
然后,我们再通过SQL语句来创建字段:
alter table ods.my_table add column test char(1);
alter table ods.my_table add column test1 char;
alter table ods.my_table add column test2 character;
alter table ods.my_table add column test3 character(1);
通过字段类型可以看出,使用上述四个不同的语句创建的字段,在数据库中实际存储的格式都是character(1).
简单来说,char(n)就是character(n)的别名。