主頁(yè) > 知識(shí)庫(kù) > Oralce中VARCHAR2()與NVARCHAR2()的區(qū)別介紹

Oralce中VARCHAR2()與NVARCHAR2()的區(qū)別介紹

熱門(mén)標(biāo)簽:慧營(yíng)銷crm外呼系統(tǒng)丹丹 百度地圖標(biāo)注途經(jīng)點(diǎn) 哈爾濱電話機(jī)器人銷售招聘 山東crm外呼系統(tǒng)軟件 哪個(gè)400外呼系統(tǒng)好 開(kāi)發(fā)外呼系統(tǒng) 愛(ài)客外呼系統(tǒng)怎么樣 圖吧網(wǎng)站地圖標(biāo)注 地圖標(biāo)注養(yǎng)老院

一、先來(lái)看看Oralce中VARCHAR2()和NVARCHAR2()的官方定義

官方文檔定義如下:

VARCHAR2(size [BYTE | CHAR])

Variable-length character string having maximum length size bytes or characters. Maximum size is 4000 bytes or characters, and minimum is 1 byte or 1 character. You must specify size for VARCHAR2.
BYTE indicates that the column will have byte length semantics. CHAR indicates that the column will have character semantics.

NVARCHAR2(size)

Variable-length Unicode character string having maximum length size characters. The number of bytes can be up to two times size for AL16UTF16 encoding and three times size for UTF8 encoding. Maximum size is determined by the national character set definition, with an upper limit of 4000 bytes. You must specify size for NVARCHAR2.

二、中文翻譯:

VARCHAR2(size [BYTE | CHAR])

具有最大長(zhǎng)度的字節(jié)數(shù)(bytes)或字符數(shù)(char)的可變長(zhǎng)度的字符類型。最大長(zhǎng)度為4000字節(jié)/字符,最小長(zhǎng)度是1字節(jié)/字符。你必須為VARCHAR2()類型指定大小。

BYTE代表該列以字節(jié)計(jì)算長(zhǎng)度,CHAR代表該列以字符計(jì)算長(zhǎng)度。

NVARCHAR2(size)

具有最大長(zhǎng)度的帶有字符集屬性的可變長(zhǎng)度的字符類型。它的長(zhǎng)度是AL16UTF16字符集的2倍,UTF8字符集的三倍。它的最大長(zhǎng)度取決于字符集,上限位4000字節(jié)。您必須為NVARCHAR2()類型指定大小。

三、實(shí)戰(zhàn)演練

使用字符集為UTF8。

# 驗(yàn)證NVARCHAR2(size)與VARCHAR2(size CHAR)相似
SQL> create table t_varchar2(name varchar2(6 CHAR));
Table created
SQL> insert into t_varchar2 values('中國(guó)');
1 row inserted
SQL> insert into t_varchar2 values('中華人民共和');
1 row inserted
SQL> insert into t_varchar2 values('中華人民共和國(guó)');
insert into t_varchar2 values('中華人民共和國(guó)')
ORA-12899: 列 "SCOTT"."T_VARCHAR2"."NAME" 的值太大 (實(shí)際值: 7, 最大值: 6)
SQL> create table t_nvarchar2(name nvarchar2(6));
Table created
SQL> insert into t_nvarchar2 values('中國(guó)');
1 row inserted
SQL> insert into t_nvarchar2 values('中華人民共和');
1 row inserted
SQL> insert into t_nvarchar2 values('中華人民共和國(guó)');
insert into t_nvarchar2 values('中華人民共和國(guó)')
ORA-12899: 列 "SCOTT"."T_NVARCHAR2"."NAME" 的值太大 (實(shí)際值: 7, 最大值: 6)
# 驗(yàn)證NVARCHAR2(sie)與VARCHAR(size CHAR)存在最大長(zhǎng)度不同
SQL> create table t_varchar2(name varchar2(4000 CHAR));
Table created
SQL> create table t_nvarchar2(name nvarchar2(4000));
create table t_nvarchar2(name nvarchar2(4000))
ORA-00910: 指定的長(zhǎng)度對(duì)于數(shù)據(jù)類型而言過(guò)長(zhǎng)

四、區(qū)別總結(jié):

NVARCHAR2(size)VARCHAR2(size CHAR)相似,唯一的區(qū)別是NVARCHAR2(size)的最大長(zhǎng)度是4000字節(jié)(實(shí)驗(yàn)測(cè)試結(jié)果是,在utf8的字符集下,最大長(zhǎng)度為2000字符),而VARCHAR2(size CHAR)的最大長(zhǎng)度是4000字符。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

您可能感興趣的文章:
  • oralce和db2兼容開(kāi)發(fā)注意事項(xiàng)
  • Oralce 歸檔日志開(kāi)啟與關(guān)閉示例
  • 提取oralce當(dāng)天的alert log的shell腳本代碼
  • oralce 計(jì)算時(shí)間差的實(shí)現(xiàn)

標(biāo)簽:周口 固原 甘肅 武漢 開(kāi)封 青島 承德 和田

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oralce中VARCHAR2()與NVARCHAR2()的區(qū)別介紹》,本文關(guān)鍵詞  Oralce,中,VARCHAR2,與,NVARCHAR2,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oralce中VARCHAR2()與NVARCHAR2()的區(qū)別介紹》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Oralce中VARCHAR2()與NVARCHAR2()的區(qū)別介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章