校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 基于SQL Server中char,nchar,varchar,nvarchar的使用區別

基于SQL Server中char,nchar,varchar,nvarchar的使用區別

熱門標簽:北京400電話辦理多少錢 浙江穩定外呼系統供應商 怎么給高德做地圖標注 慶陽地圖標注 承德地圖標注公司名需要花錢嗎 美團地圖標注商戶認證注冊 榕城市地圖標注 電銷外呼系統軟件功能 咸陽電腦外呼系統運營商

對于程序中的一般字符串類型的字段,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個字符,無論英文還是漢字

復制代碼 代碼如下:

--創建表
CREATE TABLE TempTable(
    id INT PRIMARY KEY,
    charField CHAR(10),
    varcharField VARCHAR(10),
    nvarcharField NVARCHAR(10)
)

INSERT INTO TempTable VALUES(1,'WFTH','WFTH','WFTH') 
INSERT INTO TempTable VALUES(2,'無風聽海','無風聽海','無風聽海')
INSERT INTO TempTable VALUES(3,'','','')
INSERT INTO TempTable(id) VALUES(4)
INSERT INTO TempTable VALUES(5,'1234567890','1234567890','12345')

SELECT DATALENGTH(charField) AS charFieldLen,
       DATALENGTH(varcharField) AS varcharFieldLen,
       DATALENGTH(nvarcharField) AS nvarcharFieldLen
FROM temptable WHERE id =1

SELECT DATALENGTH(charField) AS charFieldLen,
       DATALENGTH(varcharField) AS varcharFieldLen,
       DATALENGTH(nvarcharField) AS nvarcharFieldLen
FROM temptable WHERE id =2

SELECT DATALENGTH(charField) AS charFieldLen,
       DATALENGTH(varcharField) AS varcharFieldLen,
       DATALENGTH(nvarcharField) AS nvarcharFieldLen
FROM temptable WHERE id =3

SELECT DATALENGTH(charField) AS charFieldLen,
       DATALENGTH(varcharField) AS varcharFieldLen,
       DATALENGTH(nvarcharField) AS nvarcharFieldLen
FROM temptable WHERE id =4

SELECT DATALENGTH(charField) AS charFieldLen,charField,
       DATALENGTH(varcharField) AS varcharFieldLen,varcharField,
       DATALENGTH(nvarcharField) AS nvarcharFieldLen,nvarcharField
FROM temptable WHERE id =5

您可能感興趣的文章:
  • sql中varchar和nvarchar的區別與使用方法
  • 過程需要參數 ''@statement'' 為 ''ntext/nchar/nvarchar'' 類型
  • Sqlserver中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類型中的特殊字符

標簽:新鄉 江蘇 拉薩 貴州 呼和浩特 昭通 上海 重慶

巨人網絡通訊聲明:本文標題《基于SQL Server中char,nchar,varchar,nvarchar的使用區別》,本文關鍵詞  基于,SQL,Server,中,char,nchar,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《基于SQL Server中char,nchar,varchar,nvarchar的使用區別》相關的同類信息!
  • 本頁收集關于基于SQL Server中char,nchar,varchar,nvarchar的使用區別的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 图木舒克市| 安顺市| 宜川县| 慈溪市| 永川市| 楚雄市| 长白| 安龙县| 故城县| 堆龙德庆县| 大城县| 山东省| 嘉峪关市| 嘉兴市| 吉隆县| 九龙坡区| 通道| 尉犁县| 高陵县| 澄迈县| 曲周县| 苍溪县| 平原县| 韩城市| 无极县| 陵水| 建瓯市| 浦城县| 上杭县| 子洲县| 邵阳县| 濉溪县| 双鸭山市| 读书| 当阳市| 游戏| 集贤县| 报价| 霍山县| 平远县| 文水县|