程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> char,vchar,nchar,nvchar的區別,vcharnvchar

char,vchar,nchar,nvchar的區別,vcharnvchar

編輯:Oracle教程

char,vchar,nchar,nvchar的區別,vcharnvchar


char和varchar的長度都在1到8000之間,它們的區別在於char是定長字符數據,而varchar是變長字符數據。所謂定長就是長度固定的,當輸入的數據長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度達到相應的長度;而變長字符數據則不會以空格填充。text存儲可變長度的非Unicode數據,最大長度為2^31-1(2,147,483,647)個字符。

後面三種數據類型和前面的相比,從名稱上看只是多了個字母"n",它表示存儲的是Unicode數據類型的字符。字符中,英文字符只需要一個字節存儲就足夠了,但漢字眾多,需要兩個字節存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示。

nchar、nvarchar的長度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字。

可以看出使用nchar、nvarchar數據類型時不用擔心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數量上有些損失。


char vchar nchar nvchar的不同我都知道了dan在建字段的時類型都可以任意定阿

我也不知道該什麼時候用,但是覺得用一個字存儲時 用char 可以,比如 '男'或'女' 在一般的用戶名或簡單的數據中用varchar比較多. 用存儲圖片地址或網址時 用NVARCHAR比較多. 好像一個是對漢字占一個符和占兩個符有關系吧.我也不是太清楚. 用編輯器存儲內容時 就用的text .
好像還有一點 char 的內容裡好像是帶空格的.以前遇到過一回,沒在意,就改了.
 

varchar vchar的不同?是不是一個意思?

有vchar嗎?
有char varchar nchar nvarchar

char [ ( n ) ]
固定長度,非 Unicode 字符數據,長度為 n 個字節。n 的取值范圍為 1 至 8,000,存儲大小是 n 個字節

nchar [ ( n ) ]
n 個字符的固定長度的 Unicode 字符數據。n 值必須在 1 到 4,000 之間(含)。存儲大小為兩倍 n 字節

varchar [ ( n | max ) ]
可變長度,非 Unicode 字符數據。n 的取值范圍為 1 至 8,000。max 指示最大存儲大小是 2^31-1 個字節。存儲大小是輸入數據的實際長度加 2 個字節。所輸入數據的長度可以為 0 個字符

nvarchar [ ( n | max ) ]
可變長度 Unicode 字符數據。n 值在 1 到 4,000 之間(含)。max 指示最大存儲大小為 2^31-1 字節。存儲大小是所輸入字符個數的兩倍 + 2 個字節。所輸入數據的長度可以為 0 個字符
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved