1. 程式人生 > 資料庫 >PostgreSQL 中欄位型別varchar的用法

PostgreSQL 中欄位型別varchar的用法

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。