亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

Oracle varchar2最大支持長(zhǎng)度

發(fā)布時(shí)間:  2012/9/3 16:49:01

網(wǎng)上經(jīng)常有人問(wèn)Oracle varchar2最大支持長(zhǎng)度為多少?其實(shí)這個(gè)叫法不太準(zhǔn)確,varchar2分別在oracle的sql和pl/sql中都有使用,oracle 在sql參考手冊(cè)和pl/sql參考手冊(cè)中指出:oracle sql varchar2的最大支持長(zhǎng)度為4000個(gè)字節(jié)(bytes);而 oracle plsql varchar2最大支持長(zhǎng)度為32767個(gè)字節(jié)。這就是有朋友問(wèn),在pl/sql中定義了32767個(gè)(字符/字節(jié)),為什么在表的字段中不能定義大于4000個(gè)字節(jié)的原因了。-
 


下面分別給出varchar2在Oracle sql和plsql中最大長(zhǎng)度的示例。

Oracle sql中varchar2最大支持長(zhǎng)度示例–最大長(zhǎng)度為4000

drop table idb_varchar2;
create table idb_varchar2
(id number,
name varchar2(4000 char));
insert into idb_varchar2 values(1,lpad('中',32767,'中'));
insert into idb_varchar2 values(2,lpad('a',32767,'b'));
commit;
select id,lengthb(name),length(name) from idb_varchar2;
 
drop table idb_varchar2;  
create table idb_varchar2  
(id number,  
name varchar2(4000 char));  
insert into idb_varchar2 values(1,lpad('中',32767,'中'));  
insert into idb_varchar2 values(2,lpad('a',32767,'b'));  
commit;  
select id,lengthb(name),length(name) from idb_varchar2; 
輸出結(jié)果:

dw@dw>drop table idb_varchar2; 表已刪除。 dw@dw>create table idb_varchar2 2 (id number, 3 name varchar2(4000 char)); 表已創(chuàng)建。 dw@dw>insert into idb_varchar2 values(1,lpad('中',32767,'中')); 已創(chuàng)建 1 行。 dw@dw>insert into idb_varchar2 values(2,lpad('a',32767,'b')); 已創(chuàng)建 1 行。 dw@dw>commit; 提交完成。 dw@dw>select id,lengthb(name),length(name) from idb_varchar2; ID LENGTHB(NAME) LENGTH(NAME) ---------- ------------- ------------ 1 4000 2000 2 4000 4000 已選擇2行。

Oracle sql中varchar2最大支持長(zhǎng)度示例–設(shè)計(jì)長(zhǎng)度為4001

drop table idb_varchar2;
create table idb_varchar2
(id number,
name varchar2(4001));
 
drop table idb_varchar2;  
create table idb_varchar2  
(id number,  
name varchar2(4001)); 
結(jié)果:

dw@dw>drop table idb_varchar2; 表已刪除。 dw@dw>create table idb_varchar2 2 (id number, 3 name varchar2(4001)); name varchar2(4001)) * 第 3 行出現(xiàn)錯(cuò)誤: ORA-00910: 指定的長(zhǎng)度對(duì)于數(shù)據(jù)類(lèi)型而言過(guò)長(zhǎng)

超過(guò)4001會(huì)報(bào)錯(cuò)。

Oracle plsql中varchar2最大支持長(zhǎng)度示例

set serveroutput on
declare
v_var varchar2(32767 byte);
v_char varchar2(32767 char);
begin
v_var := lpad('a',32767,'a');
dbms_output.put_line(length(v_var));
v_char := lpad('中',32767,'中');
dbms_output.put_line(lengthb(v_var));
v_var := lpad('中',32768,'中');
end;
/

--定義如果超過(guò)32768會(huì)報(bào)錯(cuò)
declare
v_var varchar2(32768);
begin
null;
end;
/
 
set serveroutput on  
declare  
  v_var varchar2(32767 byte);  
  v_char varchar2(32767 char);  
begin  
  v_var := lpad('a',32767,'a');  
  dbms_output.put_line(length(v_var));  
  v_char := lpad('中',32767,'中');  
  dbms_output.put_line(lengthb(v_var));  
  v_var := lpad('中',32768,'中');  
end;  
/  
  
--定義如果超過(guò)32768會(huì)報(bào)錯(cuò)   
declare  
  v_var varchar2(32768);  
begin  
  null;  
end;  

輸出結(jié)果:

dw@dw>set serveroutput on
dw@dw>declare
  2    v_var varchar2(32767 byte);
  3    v_char varchar2(32767 char);
  4  begin
  5    v_var := lpad('a',32767,'a');
  6    dbms_output.put_line(length(v_var));
  7    v_char := lpad('中',32767,'中');
  8    dbms_output.put_line(lengthb(v_var));
  9    v_var := lpad('中',32768,'中');
 10  end;
 11  /
32767
32767
declare
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-06502: PL/SQL: 數(shù)字或值錯(cuò)誤 :  字符串緩沖區(qū)太小
ORA-06512: 在 line 9

dw@dw>
dw@dw>declare
  2    v_var varchar2(32768);
  3  begin
  4    null;
  5  end;
  6  /
  v_var varchar2(32768);
                 *
第 2 行出現(xiàn)錯(cuò)誤:
ORA-06550: 第 2 行, 第 18 列:
PLS-00215: 字符串長(zhǎng)度限制在范圍 (1...32767)
 


本文出自:億恩科技【m.1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專(zhuān)注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      1
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線