varchar字段類型怎么在PostgreSQL 中使用?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),沙洋企業(yè)網(wǎng)站建設(shè),沙洋品牌網(wǎng)站建設(shè),網(wǎng)站定制,沙洋網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,沙洋網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。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
關(guān)于varchar字段類型怎么在PostgreSQL 中使用問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。