欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

SQLServer中char、varchar、nchar、nvarchar的

系統(tǒng) 1945 0

?SQL SERVER中生成的語句中,字符串前加N。
N 前綴必須是大寫字母。是Unicode編碼的意思,一般來說,英文字符是一個字節(jié)組成,但是國際上的字太多了,因此就用兩個字節(jié)來表示字符,滿足國際化的需要.

在字符串前面加上 N 代表存入數(shù)據(jù)庫時(shí)以 Unicode 格式存儲。
N'string'? 表示string是個Unicode字符串

??? Unicode 字符串的格式與普通字符串相似,但它前面有一個 N 標(biāo)識符(N 代表 SQL-92 標(biāo)準(zhǔn)中的國際語言 (National Language))。N 前綴必須是大寫字母。例如,'Michél' 是字符串常量而 N'Michél' 則是 Unicode 常量。Unicode 常量被解釋為 Unicode 數(shù)據(jù),并且不使用代碼頁進(jìn)行計(jì)算。Unicode 常量確實(shí)有排序規(guī)則,主要用于控制比較和區(qū)分大小寫。為 Unicode 常量指派當(dāng)前數(shù)據(jù)庫的默認(rèn)排序規(guī)則,除非使用 COLLATE 子句為其指定了排序規(guī)則。Unicode 數(shù)據(jù)中的每個字符都使用兩個字節(jié)進(jìn)行存儲,而字符數(shù)據(jù)中的每個字符則都使用一個字節(jié)進(jìn)行存儲。有關(guān)更多信息,請參見使用 Unicode 數(shù)據(jù)。

Unicode 字符串常量支持增強(qiáng)的排序規(guī)則。

?select '''a'''?? --輸出'a' 在sql語句中'用''來轉(zhuǎn)義,其他字符可以直接輸


存儲含有中文字符的最好有nvarchar
存儲只有英文、數(shù)字的最好用varchar


1.有var前綴的,表示是實(shí)際存儲空間是變長的,varchar,nvarchar
所謂定長就是長度固定的,當(dāng)輸入的數(shù)據(jù)長度沒有達(dá)到指定的長度時(shí)將自動以英文空格在其后面填充,使長度達(dá)到相應(yīng)的長度;而變長字符數(shù)據(jù)則不會以空格填充,比較例外的是,text存儲的也是可變長。

2.有n前綴的,n表示Unicode字符,即所有字符都占兩個字節(jié),nchar,nvarchar
字符中,英文字符只需要一個字節(jié)存儲就足夠了,但漢字眾多,需要兩個字節(jié)存儲,英文與漢字同時(shí)存在時(shí)容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產(chǎn)生的,它所有的字符都用兩個字節(jié)表示,即英文字符也是用兩個字節(jié)表示。

3.基于以上兩點(diǎn)來看看字段容量

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

varchar與nvarchar的選擇("n"前綴)
使用varchar存儲含有非英文字符(比如中文,日文)時(shí)出現(xiàn)“??”的亂碼

使用nvarchar的一個非常好處就是在判斷字符串的時(shí)候可以不需要考慮中英文兩種字符的差別.
  當(dāng)然,使用nvarchar存儲英文字符會增大一倍的存儲空間.但是在存儲代價(jià)已經(jīng)很低廉的情況下,優(yōu)先考慮兼容性會給你帶來更多好處的.

  所以在Design的時(shí)候應(yīng)該盡量使用nvarchar來存儲數(shù)據(jù).只有在你確保該字段不會保存中文的時(shí)候,才采用varchar來存儲.

?

SqlServer中nvarchar和varchar的區(qū)別
1、各自的定義:

?????? 1.nvarchar(n):包含n個字符的可變長度Unicode字符數(shù)據(jù)。n的值必須介于1與4,000之間。字節(jié)的存儲大小是所輸入字符個數(shù)的兩倍。所輸入的數(shù)據(jù)字符長度可以為零。

?????? 2.varchar[(n)]:長度為n個字節(jié)的可變長度且非Unicode的字符數(shù)據(jù)。n必須是一個介于1和8,000之間的數(shù)值。存儲大小為輸入數(shù)據(jù)的字節(jié)的實(shí)際長度,而不是n個字節(jié)。所輸入的數(shù)據(jù)字符長度可以為零。

2、區(qū)別:

????? 1.從存儲方式上,nvarchar是按字符存儲的,而 varchar是按字節(jié)存儲的;

????? 2.從存儲量上考慮, varchar比較節(jié)省空間,因?yàn)榇鎯Υ笮樽止?jié)的實(shí)際長度,而 nvarchar是雙字節(jié)存儲;

????? 3.在使用上,如果存儲內(nèi)容都是英文字符而沒有漢字等其他語言符號,建議使用varchar;含有漢字的使用nvarchar,因?yàn)閚varchar是使用Unicode編碼,即統(tǒng)一的字符編碼標(biāo)準(zhǔn),會減少亂碼的出現(xiàn)幾率;

?

???? 4.如果你做的項(xiàng)目可能涉及不同語言之間的轉(zhuǎn)換,建議用nvarchar。

SQLServer中char、varchar、nchar、nvarchar的區(qū)別


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产综合亚洲精品一区二 | 国产乱码一区二区三区 | 久久亚洲欧美日韩精品专区 | 搡女人视频免费 | 黄色毛片免费看 | 三级视频在线观看 | 国产福利一区二区 | 欧美电影在线观看网站 | 91tv最新永久在线地址 | 99色这里只有精品 | 黑人精品欧美一区二区蜜桃 | 日韩欧美一级精品久久 | 男人的天堂亚洲 | 欧美一级片 | 久久久久久久久久综合情日本 | 成年人网站在线免费观看 | 亚洲成人在线视频播放 | 窝窝午夜精品一区二区 | 114美女做爰视频在线 | 久久一区二区三区免费播放 | 成人午夜精品久久久久久久小说 | 亚洲国产日韩在线一区 | 午夜性福 | 日韩成人免费在线视频 | 久久国产免费福利永久 | 久久女人被添全过程A片 | 99热久久66是国产免费 | 久久婷婷综合中文字幕 | 免费久久一级欧美特大黄 | 奇米影视色 | 国产一级特黄aa大片免费 | 草草视频在线观看 | 免费国产自久久久久三四区久久 | 色网站免费视频 | 午夜免费观看福利片一区二区三区 | 免费观看呢日本天堂视频 | 久热官网 | 精品久久洲久久久久护士 | 伊人狼人综合 | 波多野结衣一区二区三区88 | 99在线热播精品免费 |