激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Oracle varchar2最大支持長度

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

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


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

        Oracle sql中varchar2最大支持長度示例–最大長度為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; 
        輸出結果:

        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最大支持長度示例–設計長度為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)); 
        結果:

        dw@dw>drop table idb_varchar2; 表已刪除。 dw@dw>create table idb_varchar2 2 (id number, 3 name varchar2(4001)); name varchar2(4001)) * 第 3 行出現錯誤: ORA-00910: 指定的長度對于數據類型而言過長

        超過4001會報錯。

        Oracle plsql中varchar2最大支持長度示例

        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;
        /

        --定義如果超過32768會報錯
        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;  
        /  
          
        --定義如果超過32768會報錯   
        declare  
          v_var varchar2(32768);  
        begin  
          null;  
        end;  

        輸出結果:

        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 行出現錯誤:
        ORA-06502: PL/SQL: 數字或值錯誤 :  字符串緩沖區(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 行出現錯誤:
        ORA-06550: 第 2 行, 第 18 列:
        PLS-00215: 字符串長度限制在范圍 (1...32767)
         


        本文出自:億恩科技【mszdt.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

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

        0371-60135900
        7*24小時客服服務熱線