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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL中資料型別(char(n)、varchar(n)、nchar(n)、nvarchar(n)的區別)MySql資料型別
- Oracle 中varchar2 和nvarchar2區別Oracle
- Oracle long轉為varchar2Oracle
- LightDB 22.4 新特性之完全相容Oracle varchar2資料型別Oracle資料型別
- oracle 19c varchar2超過4000位元組處理Oracle
- 360N7對比N6 Pro的區別對比 60N7和360N6 Pro哪個好?
- 訊號與槽N對N
- 聯機重定義修改欄位型別(NVARCHAR2->VARCHAR2)型別
- jQuery基礎與js的區別jQueryJS
- const char*, char const*, char*const 有何區別?
- long2varchar 把long轉換為varchar2
- varchar和char的區別
- n+p與n^6+p^6
- eventlet 的 spawn_n 和 spawn 有什麼區別?
- PostgreSQL DBA(113) - pgAdmin(Don't do this:Don't use char(n))SQL
- n*n的乘法口訣表
- JAVA物件導向基礎--N種內部類Java物件
- mysql與Oracle的區別MySqlOracle
- Java基礎-- ==號與equals()方法的區別Java
- 360手機N7 lite與N7 Pro區別對比,價格相差200元哪一款好?
- 360手機N7與小米6X區別對比 360 N7和小米6X哪個好?
- 輸入N,再輸入N個數,N
- PostgreSQL DBA(114) - pgAdmin(Don't use char(n) even for fixed-length id)SQL
- Dynamics CRM實體系列之1:N、N:1以及N:N關係
- [20210624]find -mtime +N N -N的時間範圍問題.txt
- 『Java 語法基礎』a = a + b 與 a += b 的區別Java
- WiFi基礎(二):最新WiFi通道、無線OSI模型與802.11b/g/nWiFi模型
- oracle ADG與DG的區別Oracle
- 11.2.0.3 :PRVG-11134 : Interface "n.n.n.n" on node "racnode1" is not able to..
- oracle SGA區基礎知識與檢視命令Oracle
- 計算2的N次冪n 可輸入,n為自然數
- N皇后和N皇后2
- NTMySQL中varchar和char型別的區別heeMySql型別
- Rust中 String、str、&str、char 的區別Rust
- MySQL中CHAR和VARCHAR區別MySql
- 『Java 語法基礎』String、StringBuffer 與 StringBuilder 的區別JavaUI
- Oracle 12c資料庫擴充套件VARCHAR2欄位屬性超過4000位元組Oracle資料庫套件
- Oracle與OpenJDK之間的區別OracleJDK
- [20210625]find -mtime +N N -N時間問題補充.txt