婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Sqlserver中char,nchar,varchar與Nvarchar的區別分析

Sqlserver中char,nchar,varchar與Nvarchar的區別分析

熱門標簽:最新人工智能電銷機器人 成都電話外呼系統一般多少錢 陜西電銷外呼系統好用嗎 al智能電話機器人 銀川高頻外呼回撥系統多少錢 如何做地圖標注圖鋪 蘭州語音外呼系統運營商 沒聽見電話機器人幫你接 數字匠心電銷機器人
1. char類型

對英文(ASCII)字符占用1個字節,對一個漢字占用2個字節,CHAR存儲定長數據很方便,CHAR字段上的索引效率極高,比如定義char(10),那么不論你存儲的數據是否達  到了10個字節,都要占去10個字節的空間。因為是固定長度,所以速度效率高。比如定義char(10),那么不論你存儲的數據是否達到了10個字節,都要占去10個字節的空間。因為是固定長度,所以速度效率高。

2. VARCHAR存儲變長數據

如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為 VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什么“+1”呢?這一個字節用于保存實際使用了多大的長度。
   Varchar類型:Varchar 的類型不以空格填滿,而Char則會填充滿為止,如varchar(100),但它的值只是"qian",所以它在數據庫中存的值就是"qian",而char 不一樣,如char(100),它的  值是"qian",而實際上它在數據庫中是"qian "(qian后共有96個空格,就是把它填滿為100個字節)。
注:由于char是以固定長度的,所以它的速度會比varchar快得多!但程序處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉!
3. Nchar類型和Nvarchar類型是怎么一回事呢?

為了與其他多種字符的轉換,如中文,音標等,對每個英文(ASCII)字符都占用2個字節,對一個漢字也占用兩個字節,所有的字符都占用2個字節。

  varchar(n):變長型字符數據類型,存儲最長長度為8,000 個字符
  nvarchar(n):可變長度 Unicode 數據,其最大長度為 4,000 字符.字節的存儲大小是所輸入字符個數的兩倍,就是說它是雙字節來存儲數據的。如果存儲數據如果存在單字節時,它也是以雙字節來占用存儲空間的。

  varchar一般適用于英文和數字,Nvarchar適用中文和其他字符,其中N表示Unicode常量,可以解決多語言字符集之間的轉換問題。

以下是補充:

對于程序中的一般字符串類型的字段,SQL Server中有char、varchar、nchar、nvarchar四種類型來對應,那么這四種類型有什么區別呢,這里做一下對比。

1.定長或變長

所謂定長就是長度固定,當要保存的數據長度不夠時將自動在其后面填充英文空格,使長度達到相應的長度;有var前綴的,表示是實際存儲空間是動態變化的,比如varchar,nvarchar變長字符數據則不會以空格填充。

2.Unicode或非Unicode

數據庫中,英文字符只需要一個字節存儲就足夠了,但漢字和其他眾多非英文字符,則需要兩個字節存儲。如果英文與漢字同時存在,由于占用空間數不同,容易造成混亂,導致讀取出來的字符串是亂碼。Unicode字符集就是為了解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示。而前綴n就表示Unicode字符,比如nchar,nvarchar,這兩種類型使用了Unicode字符集。

3.幾種數據類型的存儲的最大容量

char,varchar 最多8000個英文,4000個漢字

nchar,nvarchar  最多可存儲4000個字符,無論英文還是漢字

您可能感興趣的文章:
  • sql中varchar和nvarchar的區別與使用方法
  • 過程需要參數 ''@statement'' 為 ''ntext/nchar/nvarchar'' 類型
  • 基于SQL Server中char,nchar,varchar,nvarchar的使用區別
  • 深入char、varchar、text和nchar、nvarchar、ntext的區別詳解
  • SQL2005中char nchar varchar nvarchar數據類型的區別和使用環境講解
  • SQL Server數據類型char、nchar、varchar、nvarchar的區別淺析
  • SQL中varchar和nvarchar的基本介紹及其區別
  • mysql如何處理varchar與nvarchar類型中的特殊字符

標簽:邢臺 宜春 朔州 本溪 巴彥淖爾 鹽城 通化 遼源

巨人網絡通訊聲明:本文標題《Sqlserver中char,nchar,varchar與Nvarchar的區別分析》,本文關鍵詞  Sqlserver,中,char,nchar,varchar,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Sqlserver中char,nchar,varchar與Nvarchar的區別分析》相關的同類信息!
  • 本頁收集關于Sqlserver中char,nchar,varchar與Nvarchar的區別分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 汝南县| 安丘市| 旬阳县| 怀化市| 扎兰屯市| 海南省| 玉林市| 兴山县| 博兴县| 大宁县| 定边县| 沧州市| 文成县| 崇阳县| 弥渡县| 湟源县| 修水县| 华阴市| 安新县| 广宗县| 两当县| 班玛县| 龙江县| 诸城市| 丰原市| 苗栗县| 忻城县| 肇州县| 安岳县| 林甸县| 资兴市| 阿合奇县| 临泉县| 彰化县| 丹江口市| 沙雅县| 扶风县| 白玉县| 九江县| 双流县| 七台河市|