SQL中 char varchar和nvarchar的區別

轉至:http://www.cnblogs.com/carekee/articles/2094676.html

char
??? char是定長的,也就是當你輸入的字符小于你指定的數目時,char(8),你輸入的字符小于8時,它會再后面補空值。當你輸入的字符大于指定的數時,它會截取超出的字符。
???nvarchar(n)
??? 包含 n 個字符的可變長度 Unicode 字符數據。
n 的值必須介于 1 與 4,000 之間。字節的存儲大小是所輸入字符個數的兩倍。所輸入的數據字符長度可以為零。???????
varchar[(n)]??
????長度為 n 個字節的可變長度且非 Unicode 的字符數據。n 必須是一個介于 1 和 8,000 之間的數值。存儲大小為輸入數據的字節的實際長度,而不是 n 個字節。所輸入的數據字符長度可以為零。
1、CHAR。CHAR存儲定長數據很方便,CHAR字段上的索引效率級高,比如定義char(10),那么不論你存儲的數據是否達到了10個字節,都要占去10個字節的空間。?

?2、VARCHAR。存儲變長數據,但存儲效率沒有CHAR高。如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為 VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什么“+1”呢?這一個字節用于保存實際使用了多大的長度。??
從空間上考慮,用varchar合適;從效率上考慮,用char合適,關鍵是根據實際情況找到權衡點。??
3、TEXT。text存儲可變長度的非Unicode數據,最大長度為2^31-1(2,147,483,647)個字符。??
4、NCHAR、NVARCHAR、NTEXT。這三種從名字上看比前面三種多了個“N”。它表示存儲的是Unicode數據類型的字符。我們知道字符中,英文字符只需要一個字節存儲就足夠了,但漢字眾多,需要兩個字節存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較起來,nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字。可以看出使用nchar、nvarchar數據類型時不用擔心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數量上有些損失。??
所以一般來說,如果含有中文字符,用nchar/nvarchar,如果純英文和數字,用char/varchar。

轉載于:https://www.cnblogs.com/a-mumu/p/5213567.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373610.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373610.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373610.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux入門筆記——less

less命令是一個用來瀏覽文本文件的程序,是早期 Unix 程序 more 的改進版,屬于”頁面調度器”程序類,該程序通過頁方式在一頁中輕松地文本文檔。然而 more 程序只能向前分頁瀏覽,而 less 程序允許前后分頁瀏覽,它還有很多其它的特性。 less 命…

lfu算法實現c語言_哈希查找算法(C語言實現)

上一節介紹了有關哈希表及其構造過程的相關知識,本節將介紹如何利用哈希表實現查找操作。在哈希表中進行查找的操作同哈希表的構建過程類似,其具體實現思路為:對于給定的關鍵字 K,將其帶入哈希函數中,求得與該關鍵字對…

現代化Java代碼的七個NetBeans提示

在“ 七個不可或缺的NetBeans Java提示”一文中 ,我談到了一般使用NetBeans提示的問題,然后重點介紹了七個提示。 接下來列出了該帖子中強調的七個提示: 可疑方法調用 使用或! AND字符串構造函數比較字符串 構造函數中的可重寫方…

AngularJS $http service

原文鏈接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/angularjs-http-service/ 1.通常用法: $http服務是一個只有一個參數-配置對象的函數,用于產生一個http請求并返回一個promise對象。 $http({ method: GET, url: /someUr…

Erwin 生成 mysql 帶注釋(comment )的腳本

Erwin設計數據庫非常方便,有邏輯視圖和物理視圖,可以很方便的生成數據庫文檔和SQL 腳本。在使用過程中唯一不爽的地方是腳本不能生成comment。在百度無數次無法解決下,又翻墻谷歌,在一個日本網站找到了解決辦法,不敢獨…

YY語音01

1、YYSetup-8.2.0.1-zh-CN.exe (http://waiwai.duowan.com/)(http://www.yy.com/download) C:\Program Files (x86)\duowan\yy 1.1、YY游戲大廳,指向的安目錄:“C:\Users\33\AppData\Roaming\duowan\yygame\ver\0\1.3.1.13\” 2、 3、 4、 5、轉載于:htt…

手機屏幕寬高像素計算_2020年的智能手機拍照新設計,就全看下半年了

此前我們三易生活在總結2019年智能手機影像設計的變化時曾經提到,智能手機上的大底與大像素設計幾乎是花了一整年的時間,把自己從單純的噱頭,逐步改進成了能夠確實提高拍照畫質的業界主流技術。站在現在的視角來看,2019年這陣“高…

帶有Jersey和Spring的RESTful Web應用程序

幾個月前,我們的任務是創建一個API,以向第三方開發人員公開我們系統中的某些功能。 我們選擇將這些功能公開為一系列REST Web服務。 我開始使用Jersey ,它是JSR 311 (用于Restful Services的Java API)的參考實現&#…

關于更新pip的心得

如果pip install --upgrade pip 刪除了自己,但是無法安裝新的自己。 那么下載最新的pip,解壓 1、在命令窗口輸入 python(前提條件已經在系統路徑) setup.py(pip 包里的腳本) install 即可 2、注銷一下,讓pip在系統路徑生效 3、打開cmd,輸…

Linux/Unix/Mac 系統GIT密碼存儲

新建一個 ~/.netrc 文件, 將 git 服務器, 用戶名以及密碼記錄在這個文件, 如下所示: machine your-git-server login your-username password your-password普通用戶的 git-server 填 github.com 就可以了. 如果有多個 server 就…

財務部門:你需要多長時間才能夠回答老板的這些問題?

企業經營管理中,對管理決策者來說,有許多問題是希望隨時都知道的,下面,我們一起來探討一下,這些常見的問題,我們怎么來快速回答。首先,我們來回答以下幾個問題:注:這幾個…

yield方法釋放鎖嗎_死磕Synchronized底層實現重量級鎖

點擊上方“Java知音”,選擇“置頂公眾號”技術文章第一時間送達!作者:farmerjohngit鏈接:https://github.com/farmerjohngit本文為死磕Synchronized底層實現第四篇文章,內容為重量級鎖實現。本系列文章將對HotSpot的sy…

Java應用程序上的Twitter API

是否曾想過將推文附加到Java應用程序? 我為此尋找了最好的API,很幸運,我找到了它! http://twitter4j.org/ 一個簡單的方法: 我們需要做的第一件事是在您的Twitter帳戶中創建一個應用程序,為其授予訪問權限…

ps aux和ps -ef命令區別

ps aux 是用BSD的格式來顯示 java這個進程顯示的項目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMANDps -ef 是用標準的格式顯示java這個進程顯示的項目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD)轉載于:https://www.cnblogs.com/ya…

gulp學習筆記3

gulp系列學習筆記: 1、gulp學習筆記1 2、gulp學習筆記2 3、gulp學習筆記3 4、gulp學習筆記4 1、編譯sass Sass 是一種 CSS 的開發工具,提供了許多便利的寫法,大大節省了開發者的時間,使得 CSS 的開發,變得簡單和可維護…

MongoDB學習1——Windows 下配置及啟動mongodb服務器

1.下載mongodb程序:http://lt1.cr173.com/soft2/mongodb.zip 2.解壓程序3.在解壓后的mongodb文件夾中創建 data、logs、conf文件夾4.編寫配置文件conf\mongod.conf#端口號 port 12345 #數據庫路徑,也可以使用絕對路徑 dbpath data #日志路徑&#xff0…

JavaFX 2.0條形圖和散點圖(以及JavaFX 2.1 StackedBarCharts)

JavaFX 2.0提供了用于生成圖表的內置功能,該功能可在javafx.scene.chart包中找到。 在本文中,我將介紹如何使用JavaFX 2.0創建條形圖和散點圖 。 在本文的學習過程中,我將一路使用Guava和一些Java 7功能。 在演示JavaFX 2.0圖表API之前&#…

python中下劃線開頭的命名_Python 中各種下劃線的騷操作:_、_xx、xx_、__xx、__xx__、_classname_...

我們在定義一些變量或者方法的時候,常常會用到下劃線,在 Python 中,下劃線可是很有用處的喲,比如變量,有些是一個下劃線開頭的(_xx),有些是兩個下劃線開頭的(__xx),有些是在名稱的結尾添加下劃線…

MongoDB學習2——Windows 使用mongo連接數據庫

一、查看mongo幫助文檔mongo.exe --help二、使用mongo 連接服務器mongo.exe 數據庫地址:數據庫端口號/數據庫關閉服務器db.shutdownServer()注:關閉數據必須使用admin數據庫權限

【UVA 10816】 Travel in Desert (最小瓶頸樹+最短路)

【題意】 有n個綠洲, m條道路,每條路上有一個溫度,和一個路程長度,從綠洲s到綠洲t,求一條道路的最高溫度盡量小, 如果有多條, 選一條總路程最短的。 InputInput consists of several test cases…