PostgreSql數據庫中varchar類型與sql server中字段用法有差別,PostgreSql中如果字段設置為varchar類型長度為10,則無論存字母、數字或其它符號,長度最大為10個,也就是字母和漢字占的位置是一樣的。
Sql server中如設置字段類型為nvarchar類型長度為10,則存漢字最大為5個,字母為10個,字母加漢字混合時,字母和漢字占的長度一樣



補充: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
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- PostgreSQL 實現查詢表字段信息SQL腳本
- PostgreSQL 更新JSON,JSONB字段的操作
- postgresql 實現獲取所有表名,字段名,字段類型,注釋
- postgresql 修改字段長度的操作
- PostgreSQL 修改表字段常用命令操作
- 解決postgresql表中的字段名稱包含特殊符號的問題