一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術|

服務器之家 - 數(shù)據(jù)庫 - Sql Server - SQL Server數(shù)據(jù)類型char、nchar、varchar、nvarchar的區(qū)別淺析

SQL Server數(shù)據(jù)類型char、nchar、varchar、nvarchar的區(qū)別淺析

2020-03-24 14:58junjie Sql Server

這篇文章主要介紹了SQL Server數(shù)據(jù)類型char、nchar、varchar、nvarchar的區(qū)別淺析,本文寫的比較容易明白,需要的朋友可以參考下

在SQL Server中,當我們設置字符型字段的時候,往往有很多個數(shù)據(jù)類型供我們選擇,如:char nchar varchar nvarchar等,那么我們到底應該選擇哪一個呢?下面就一一來描述其區(qū)別。

char:固定長度,非Unicode字符數(shù)據(jù),長度為n個字節(jié)。n的取值范圍為1至8,000,存儲大小是n個字節(jié)。char的SQL2003同義詞為character。

varchar:可變長度,非Unicode字符數(shù)據(jù)。n的取值范圍為1至8,000。max指示最大存儲大小是2^31-1個字節(jié)。存儲大小是輸入數(shù)據(jù)的實際長度加2個字節(jié)。所輸入數(shù)據(jù)的長度可以為0個字符。SQL-2003中的varchar就是charvarying或charactervarying。

nchar:n個字符的固定長度的Unicode字符數(shù)據(jù)。n值必須在1到4,000之間(含)。存儲大小為兩倍n字節(jié)。nchar的SQL-2003同義詞為nationalchar和nationalcharacter。

nvarchar:可變長度Unicode字符數(shù)據(jù)。n值在1到4,000之間(含)。max指示最大存儲大小為2^31-1字節(jié)。存儲大小是所輸入字符個數(shù)的兩倍+2個字節(jié)。所輸入數(shù)據(jù)的長度可以為0個字符。nvarchar的SQL-2003同義詞為nationalcharvarying和nationalcharactervarying。

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

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

char,nchar:定長,速度快,占空間大,需處理

varchar,nvarchar:變長,速度慢,占空間小,無需處理

定長就是長度固定的,當輸入的數(shù)據(jù)長度沒有達到指定的長度時將自動以英文空格在其后面填充,使長度達到相應的長度。

變長字符數(shù)據(jù)則不會以空格填充,比較例外的是,text存儲的也是可變長。

1、char。char存儲定長數(shù)據(jù)很方便,char字段上的索引效率級高,比如定義char(10),那么不論你存儲的數(shù)據(jù)是否達到了10個字節(jié),都要占去10個字節(jié)的空間,不足的自動用空格填充,所以在讀取的時候可能要多次用到Trim()。

2、varchar。存儲變長數(shù)據(jù),但存儲效率沒有char高。如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為varchar(10)是最合算的。varchar類型的實際長度是它的值的實際長度+1。為什么“+1”呢?這一個字節(jié)用于保存實際使用了多大的長度。從空間上考慮,用varchar合適;從效率上考慮,用char合適,關鍵是根據(jù)實際情況找到權衡點。

3、nchar、nvarchar、ntext。這三種從名字上看比前面三種多了個“n”。它表示存儲的是Unicode數(shù)據(jù)類型的字符。我們知道字符中,英文字符只需要一個字節(jié)存儲就足夠了,但漢字眾多,需要兩個字節(jié)存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產(chǎn)生的,它所有的字符都用兩個字節(jié)表示,即英文字符也是用兩個字節(jié)表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較起來,nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字??梢钥闯鍪褂胣char、nvarchar數(shù)據(jù)類型時不用擔心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數(shù)量上有些損失。

所以一般來說,如果含有中文字符,用nchar/nvarchar,如果純英文和數(shù)字,用char/varchar。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产人成精品午夜在线观看 | 国产成人精品高清不卡在线 | 亚洲日日做天天做日日谢 | 午夜一区二区免费视频 | 91久久色| 草莓视频在线观看免费 | 久青草国产观看在线视频 | 亚洲精品乱码久久久久久蜜桃 | 日韩影院在线 | 男人疯狂进女人下部视频动漫 | 日本大尺度动漫在线观看缘之空 | 息与子中文字幕完整在线 | 99热这里只有精品在线播放 | 国内精品视频一区二区三区八戒 | 久久中文字幕亚洲精品最新 | 亚洲视频一区二区在线观看 | 欧美大片一区二区三区 | 精品小视频在线 | 岛国a香蕉片不卡在线观看 荡女淫春2古装 | 国内精品 大秀视频 日韩精品 | 久久精品亚洲牛牛影视 | 精品免费视在线视频观看 | 天堂a视频| 欧美丰满大乳大屁在线观看股 | 99er在线视频 | 果冻传媒mv在线观看入口免费 | 日韩毛片在线 | 精品久久一区 | 无毒成人社区 | 青青青青在线视频 | 亚洲国产精品久久精品成人网站 | 国产麻豆视频 | 2021国产麻豆剧传媒新片 | 久久久久激情免费观看 | 国产一级网站 | 30分钟的高清视频在线观看 | 国产午夜免费 | 国产亚洲一欧美一区二区三区 | 娇妻与老头绿文小说系列 | 国产新疆成人a一片在线观看 | 国产欧美精品一区二区三区四区 |