PostgreSql數(shù)據(jù)庫中varchar類型與sql server中字段用法有差別,PostgreSql中如果字段設(shè)置為varchar類型長度為10,則無論存字母、數(shù)字或其它符號(hào),長度最大為10個(gè),也就是字母和漢字占的位置是一樣的。
Sql server中如設(shè)置字段類型為nvarchar類型長度為10,則存漢字最大為5個(gè),字母為10個(gè),字母加漢字混合時(shí),字母和漢字占的長度一樣
補(bǔ)充:Postgresql 數(shù)據(jù)庫 varchar()字符占用多少字節(jié)
如下所示:
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頁(數(shù)據(jù)庫的最小單位) 8頁 = 1區(qū) = 64KB(記不清磁頭一次取1區(qū)還是1頁數(shù)據(jù)了)
pg_relation_size()函數(shù)用于查詢表占用空間.
當(dāng)表創(chuàng)建的時(shí)候, 是不占空間的, 插入數(shù)據(jù)后, 數(shù)據(jù)庫至少使用1KB去保存數(shù)據(jù), 不夠會(huì)繼續(xù)增加.(不包含MateData)
首先postgresql中varchar()保存的是字符.
即可以插入3個(gè)中文, 也可以插入三個(gè)字母或者數(shù)字.
一般數(shù)據(jù)庫都是UTF-8編碼.
在UTF-8編碼下, 一個(gè)中文 3個(gè)字節(jié). 字母或者英文 1個(gè)字節(jié).
另外
1KB = 1024B = 1024Bytes
1Bytes = 1B = 8bit
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:錦州 烏海 蚌埠 晉城 衡陽 株洲 來賓 珠海
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PostgreSQL 中字段類型varchar的用法》,本文關(guān)鍵詞 PostgreSQL,中,字段,類型,varchar,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。