溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

varchar字段類型怎么在PostgreSQL 中使用

發(fā)布時(shí)間:2020-12-28 14:47:23 來(lái)源:億速云 閱讀:559 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

varchar字段類型怎么在PostgreSQL 中使用?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

PostgreSql數(shù)據(jù)庫(kù)中varchar類型與sql server中字段用法有差別,PostgreSql中如果字段設(shè)置為varchar類型長(zhǎng)度為10,則無(wú)論存字母、數(shù)字或其它符號(hào),長(zhǎng)度最大為10個(gè),也就是字母和漢字占的位置是一樣的。

Sql server中如設(shè)置字段類型為nvarchar類型長(zhǎng)度為10,則存漢字最大為5個(gè),字母為10個(gè),字母加漢字混合時(shí),字母和漢字占的長(zhǎng)度一樣

varchar字段類型怎么在PostgreSQL 中使用

varchar字段類型怎么在PostgreSQL 中使用

varchar字段類型怎么在PostgreSQL 中使用

補(bǔ)充:Postgresql 數(shù)據(jù)庫(kù) varchar()字符占用多少字節(jié)

如下所示:

create table tmp1
(
name varchar(3)
);
select pg_size_pretty(pg_relation_size('tmp1'));
-- 0 bytes
insert into tmp(name) values('歐陽(yáng)子');
-- 8192 bytes
8192 bytes = 8KB = 1頁(yè)(數(shù)據(jù)庫(kù)的最小單位)
8頁(yè) = 1區(qū) = 64KB(記不清磁頭一次取1區(qū)還是1頁(yè)數(shù)據(jù)了)

pg_relation_size()函數(shù)用于查詢表占用空間.

當(dāng)表創(chuàng)建的時(shí)候, 是不占空間的, 插入數(shù)據(jù)后, 數(shù)據(jù)庫(kù)至少使用1KB去保存數(shù)據(jù), 不夠會(huì)繼續(xù)增加.(不包含MateData)

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

即可以插入3個(gè)中文, 也可以插入三個(gè)字母或者數(shù)字.

一般數(shù)據(jù)庫(kù)都是UTF-8編碼.

在UTF-8編碼下, 一個(gè)中文 3個(gè)字節(jié). 字母或者英文 1個(gè)字節(jié).

另外

1KB = 1024B = 1024Bytes

1Bytes = 1B = 8bit

關(guān)于varchar字段類型怎么在PostgreSQL 中使用問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI