VARCHAR2(N CHAR)與VARCHAR2(N)的區別[Oracle基礎]
在資料庫開發的時候,經常需要考慮儲存空間的問題,當然很多時候我們並不需要去考慮一些細小的差別,但是當儲存資源較為緊張的時候,我們還是有必要了解的。這裡採用一個例子來區分VARCHAR2(N CHAR)與VARCHAR2(N)的區別。
SQL> create table tangyun (c1 varchar2(1), c2 varchar2(1 char));
SQL> insert into tangyun values ('t', 'y');
SQL> 1 rows inserted
SQL> insert into tangyun values ('湯', '雲');
SQL 錯誤: ORA-12899: 列 "OSIBANK"."TANGYUN"."C1" 的值太大 (實際值: 2, 最大值: 1)
SQL> insert into tangyun values ('t', '雲');
SQL> 1 rows inserted
SQL> insert into tangyun values ('t', 'ty');
SQL 錯誤: ORA-12899: 列 "OSIBANK"."TANGYUN"."C2" 的值太大 (實際值: 2, 最大值: 1)。
對比兩次插入的報錯資訊可以很明顯的區分:
1、VARCHAR2(64 CHAR) 能存64個漢字,當然也能存64個字元,但是不能存 128個字元。
2、VARCHAR2(64)則可以存64個字元,但是不能存放64個漢字。
--------------End----------------------------------------------
SQL> create table tangyun (c1 varchar2(1), c2 varchar2(1 char));
SQL> insert into tangyun values ('t', 'y');
SQL> 1 rows inserted
SQL> insert into tangyun values ('湯', '雲');
SQL 錯誤: ORA-12899: 列 "OSIBANK"."TANGYUN"."C1" 的值太大 (實際值: 2, 最大值: 1)
SQL> insert into tangyun values ('t', '雲');
SQL> 1 rows inserted
SQL> insert into tangyun values ('t', 'ty');
SQL 錯誤: ORA-12899: 列 "OSIBANK"."TANGYUN"."C2" 的值太大 (實際值: 2, 最大值: 1)。
對比兩次插入的報錯資訊可以很明顯的區分:
1、VARCHAR2(64 CHAR) 能存64個漢字,當然也能存64個字元,但是不能存 128個字元。
2、VARCHAR2(64)則可以存64個字元,但是不能存放64個漢字。
--------------End----------------------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24930246/viewspace-1064982/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- char(n)和varchar2(n)區別
- 【基礎】Oracle CHAR,VARCHAR,VARCHAR2,nvarchar型別的區別與使用Oracle型別
- oracle中char與varchar2的區別Oracle
- char和varchar2的區別
- Oracle CHAR,VARCHAR,VARCHAR2,nvarchar型別的區別與使用Oracle型別
- char ,varchar2和varchar的區別
- Oracle的資料型別:char/varchar2Oracle資料型別
- MySQL中資料型別(char(n)、varchar(n)、nchar(n)、nvarchar(n)的區別)MySql資料型別
- mysql的varchar(N)和int(N)的含義及其與char區別MySql
- char nchar varchar2 nvarchar2 區別-Oracle (varchar2 max 4K, 2K漢字)Oracle
- Oracle中NVARCHAR2與VARCHAR2的區別Oracle
- Oracle 資料型別CHAR, NCHAR, VARCHAR2, NVARCHAR2Oracle資料型別
- varchar2 與 nvarchar2 區別
- Oracle 中varchar2 和nvarchar2區別Oracle
- oracle儲存過程procedure_輸入引數varchar2與char報錯Oracle儲存過程
- 【基礎】ORACLE CHAR 與 VARCHAROracle
- Oracle long轉為varchar2Oracle
- ORACLE 檢視 LONG VARCHAR2Oracle
- oracle如何變更varchar2型別的列為clobOracle型別
- 【區別】Oracle官方文件中有關NVARCHAR2、VARCHAR2和VARCHAR資料型別的描述Oracle資料型別
- se16與se16n的區別
- long型別轉換成varchar2型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-CHAR和VARCHAR2變數SQL資料型別變數
- log_archive_dest與log_archive_dest_n區別Hive
- 360N7對比N6 Pro的區別對比 60N7和360N6 Pro哪個好?
- 關於 log_archive_dest與log_archive_dest_n a的區別Hive
- Teradata 之top n與sample n
- LightDB 22.4 新特性之完全相容Oracle varchar2資料型別Oracle資料型別
- 【原創】Oracle number date varchar2欄位型別佔用空間大小Oracle型別
- FIRST_ROWS和FIRST_ROWS_n的區別
- char str[]和char *str的區別
- jQuery基礎與js的區別jQueryJS
- 你或許不知道的varchar2型別的定義型別
- long查詢結果轉換為varchar2型別型別
- Oracle varchar2型別欄位插入插入過長資料丟失問題Oracle型別
- eventlet 的 spawn_n 和 spawn 有什麼區別?
- EXP匯出引數compress=y(n)的區別
- FIRST_ROWS和FIRST_ROWS(N)的區別 (zt)