欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PostgreSQL 中字段类型varchar的用法

程序员文章站 2022-04-02 21:19:52
postgresql数据库中varchar类型与sql server中字段用法有差别,postgresql中如果字段设置为varchar类型长度为10,则无论存字母、数字或其它符号,长度最大为10个,...

postgresql数据库中varchar类型与sql server中字段用法有差别,postgresql中如果字段设置为varchar类型长度为10,则无论存字母、数字或其它符号,长度最大为10个,也就是字母和汉字占的位置是一样的。

sql server中如设置字段类型为nvarchar类型长度为10,则存汉字最大为5个,字母为10个,字母加汉字混合时,字母和汉字占的长度一样

PostgreSQL 中字段类型varchar的用法

PostgreSQL 中字段类型varchar的用法

PostgreSQL 中字段类型varchar的用法

补充:postgresql 数据库 varchar()字符占用多少字节

如下所示:

create table tmp1
(
name varchar(3)
);
select pg_size_pretty(pg_relation_size('tmp1'));
-- 0 bytes
insert into tmp(name) values('欧阳子');
-- 8192 bytes
8192 bytes = 8kb = 1页(数据库的最小单位)
8页 = 1区 = 64kb(记不清磁头一次取1区还是1页数据了)

pg_relation_size()函数用于查询表占用空间.

当表创建的时候, 是不占空间的, 插入数据后, 数据库至少使用1kb去保存数据, 不够会继续增加.(不包含matedata)

首先postgresql中varchar()保存的是字符.

即可以插入3个中文, 也可以插入三个字母或者数字.

一般数据库都是utf-8编码.

在utf-8编码下, 一个中文 3个字节. 字母或者英文 1个字节.

另外

1kb = 1024b = 1024bytes

1bytes = 1b = 8bit

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。