2 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
varchar2的最大存儲(chǔ)長(zhǎng)度是4000。
如以下語(yǔ)句:
12 | create table test (id varchar2(4001)); |
執(zhí)行時(shí)會(huì)報(bào)錯(cuò)。
如果將語(yǔ)句改為如下,則會(huì)執(zhí)行成功。
12 | create table test (id varchar2(4000)); |
關(guān)于oracle中的字符類(lèi)型char、varchar、varchar2 的區(qū)別
區(qū)別:1.CHAR的長(zhǎng)度是固定的,而VARCHAR2的長(zhǎng)度是可以變化的, 比如,存儲(chǔ)字符串“abc",對(duì)于CHAR (20),表示你存儲(chǔ)的字符將占20個(gè)字節(jié)(包括17個(gè)空字符),而同樣的VARCHAR2 (20)則只占用3個(gè)字節(jié)的長(zhǎng)度,20只是最大值,當(dāng)你存儲(chǔ)的字符小于20時(shí),按實(shí)際長(zhǎng)度存儲(chǔ)。 2.CHAR的效率比VARCHAR2的效率稍高。 3.目前VARCHAR是VARCHAR2的同義詞。工業(yè)標(biāo)準(zhǔn)的VARCHAR類(lèi)型可以存儲(chǔ)空字符串,但是oracle不這樣做,盡管它保留以后這樣做的權(quán)利。Oracle自己開(kāi)發(fā)了一個(gè)數(shù)據(jù)類(lèi)型VARCHAR2,這個(gè)類(lèi)型不是一個(gè)標(biāo)準(zhǔn)的VARCHAR,它將在數(shù)據(jù)庫(kù)中varchar列可以存儲(chǔ)空字符串的特性改為存儲(chǔ)NULL值。如果你想有向后兼容的能力,Oracle建議使用VARCHAR2而不是VARCHAR。

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
好像是4000 ,大于四千的話 會(huì)提示過(guò)長(zhǎng),如果不滿(mǎn)足的話就用lob
- 2 回答
- 0 關(guān)注
- 6249 瀏覽
添加回答
舉報(bào)