sql數據類型詳解

BCD碼1字符1/2字節
ASC碼1字符1字節
GB2312碼1字符2字節
BIG5碼1字符5字節

(1)二進制數據類型

  二進制數據包括 Binary、Varbinary 和 Image
  Binary 數據類型既可以是固定長度的(Binary),也可以是變長度的。
  Binary[(n)] 是 n 位固定的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4 個字節。
  Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4個字節,不是n 個字節。
  在 Image 數據類型中存儲的數據是以位字符串存儲的,不是由 SQL Server 解釋的,必須由應用程序來解釋。例如,應用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把數據存儲在 Image 數據類型中。
(2)字符數據類型

  字符數據的類型包括 Char,Varchar 和 Text
  字符數據是由任何字母、符號和數字任意組合而成的數據。
  Varchar 是變長字符數據,其長度不超過 8KB。Char 是定長字符數據,其長度最多為 8KB。超過 8KB 的ASCII 數據可以使用Text數據類型存儲。例如,因為 Html 文檔全部都是 ASCII 字符,并且在一般情況下長度超過 8KB,所以這些文檔可以 Text 數據類型存儲在SQL Server 中。
(3)Unicode 數據類型

  Unicode 數據類型包括 Nchar,Nvarchar 和Ntext
  在 Microsoft SQL Server 中,傳統的非 Unicode 數據類型允許使用由特定字符集定義的字符。在 SQL Server安裝過程中,允許選擇一種字符集。使用 Unicode 數據類型,列中可以存儲任何由Unicode 標準定義的字符。在 Unicode 標準中,包括了以各種字符集定義的全部字符。使用Unicode數據類型,所戰勝的窨是使用非 Unicode 數據類型所占用的窨大小的兩倍。
  在 SQL Server 中,Unicode 數據以 Nchar、Nvarchar 和 Ntext 數據類型存儲。使用這種字符類型存儲的列可以存儲多個字符集中的字符。當列的長度變化時,應該使用Nvarchar 字符類型,這時最多可以存儲 4000 個字符。當列的長度固定不變時,應該使用 Nchar 字符類型,同樣,這時最多可以存儲4000 個字符。當使用 Ntext 數據類型時,該列可以存儲多于 4000 個字符。
(4)日期和時間數據類型

  日期和時間數據類型包括 Datetime 和 Smalldatetime兩種類型
  日期和時間數據類型由有效的日期和時間組成。例如,有效的日期和時間數據包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。前一個數據類型是日期在前,時間在后一個數據類型是霎時間在前,日期在后。在 Microsoft SQL Server中,日期和時間數據類型包括Datetime 和 Smalldatetime 兩種類型時,所存儲的日期范圍是從 1753 年 1 月 1 日開始,到9999 年12 月 31 日結束(每一個值要求 8 個存儲字節)。使用 Smalldatetime 數據類型時,所存儲的日期范圍是 1900年 1 月 1日 開始,到 2079 年 12 月 31 日結束(每一個值要求 4 個存儲字節)。
  日期的格式可以設定。設置日期格式的命令如下:
  Set DateFormat {format | @format _var|
  其中,format | @format_var 是日期的順序。有效的參數包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認情況下,日期格式為MDY。
  例如,當執行 Set DateFormat YMD 之后,日期的格式為年 月 日 形式;當執行 Set DateFormat DMY 之后,日期的格式為日 月有年 形式
(5)數字數據類型

  數字數據只包含數字。數字數據類型包括正數和負數、小數(浮點數)和整數
  整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整數存儲的數據類型是    Int,Smallint和 Tinyint。Int 數據類型存儲數據的范圍大于 Smallint 數據類型存儲數據的范圍,而 Smallint 據類型存儲數據的范圍大于Tinyint 數據類型存儲數據的范圍。使用 Int 數據狗昔存儲數據的范圍是從 -2 147 483 648 到 2 147 483 647(每一個值要求4個字節存儲空間)。使用 Smallint 數據類型時,存儲數據的范圍從 -32 768 到 32 767(每一個值要求2個字節存儲空間)。使用Tinyint 數據類型時,存儲數據的范圍是從0 到255(每一個值要求1個字節存儲空間)。
  精確小婁數據在 SQL Server 中的數據類型是 Decimal 和 Numeric。這種數據所占的存儲空間根據該數據的位數后的位數來確定。
  在SQL Server 中,近似小數數據的數據類型是 Float 和 Real。例如,三分之一這個分數記作。3333333,當使用近似數據類型時能準確表示。因此,從系統中檢索到的數據可能與存儲在該列中數據不完全一樣。
(6)貨幣數據表示正的或者負的貨幣數量 。

  在 Microsoft SQL Server 中,貨幣數據的數據類型是Money 和 Smallmoney
  Money數據類型要求 8 個存儲字節,Smallmoney 數據類型要求 4 個存儲字節。

(7)特殊數據類型

  特殊數據類型包括前面沒有提過的數據類型。特殊的數據類型有3種,即    Timestamp、Bit 和 Uniqueidentifier。
  Timestamp 用于表示SQL Server 活動的先后順序,以二進投影的格式表示。Timestamp 數據與插入數據或者日期和時間沒有關系。
  Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 數據類型。例如,詢問是否是每一次訪問的客戶機請求可以存儲在這種數據類型的列中。
  Uniqueidentifier 由 16 字節的十六進制數字組成,表示一個全局唯一的。當表的記錄行要求唯一時,GUID是非常有用。例如,在客戶標識號列使用這種數據類型可以區別不同的客戶。
2.用戶定義的數據類型

  用戶定義的數據類型基于在 Microsoft SQL Server 中提供的數據類型。當幾個表中必須存儲同一種數據類型時,并且為保證這些列有相同的數據類型、長度和可空性時,可以使用用戶定義的數據類型。例如,可定義一種稱為   postal_code 的數據類型,它基于 Char 數據類型。
  當創建用戶定義的數據類型時,必須提供三個數:數據類型的名稱、所基于的系統數據類型和數據類型的可空性。
(1)創建用戶定義的數據類型

  創建用戶定義的數據類型可以使用 Transact-SQL 語句。系統存儲過程 sp_addtype 可以來創建用戶定義的數據類型。其語法形式如下:
  sp_addtype {type},[,system_data_bype][,'null_type']
  其中,type 是用戶定義的數據類型的名稱。system_data_type 是系統提供的數據類型,例如 Decimal、Int、Char   等等。 null_type 表示該數據類型是如何處理空值的,必須使用單引號引起來,例如'NULL'、'NOT NULL'或者'NONULL'。
  例子:
  Use cust
  Exec sp_addtype ssn,'Varchar(11)',"Not Null'
  創建一個用戶定義的數據類型 ssn,其基于的系統數據類型是變長為11 的字符,不允許空。
  例子:
  Use cust
  Exec sp_addtype birthday,datetime,'Null'
  創建一個用戶定義的數據類型 birthday,其基于的系統數據類型是 DateTime,允許空。
  例子:
  Use master
  Exec sp_addtype telephone,'varchar(24),'Not Null'
  Eexc sp_addtype fax,'varchar(24)','Null'
  創建兩個數據類型,即 telephone 和 fax
(2)刪除用戶定義的數據類型

  當用戶定義的數據類型不需要時,可刪除。刪除用戶定義的數據類型的命令是 sp_droptype {'type'}。
  例子:
  Use master
  Exec sp_droptype 'ssn'
  注意:當表中的列還正在使用用戶定義的數據類型時,或者在其上面還綁定有默認或者規則時,這種用戶定義的數據類型不能刪除。

SQL SERVER的字段類型說明

  以下為SQL SERVER7.0以上版本的字段類型說明。SQL SERVER6.5的字段類型說明請參考SQL SERVER提供的說明。


字段類型 描述
?bit? 0或1的整型數字
?int? 從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數字
?smallint? 從-2^15(-32,768)到2^15(32,767)的整型數字
?tinyint? 從0到255的整型數字
???
?decimal? 從-10^38到10^38-1的定精度與有效位數的數字
?numeric? decimal的同義詞
???
?money? 從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣數據,最小貨幣單位千分之十
?smallmoney? 從-214,748.3648到214,748.3647的貨幣數據,最小貨幣單位千分之十
???
?float? 從-1.79E+308到1.79E+308可變精度的數字
?real? 從-3.04E+38到3.04E+38可變精度的數字
???
?datetime? 從1753年1月1日到9999年12日31的日期和時間數據,最小時間單位為百分之三秒或3.33毫秒
?smalldatetime? 從1900年1月1日到2079年6月6日的日期和時間數據,最小時間單位為分鐘
???
?timestamp? 時間戳,一個數據庫寬度的唯一數字
?uniqueidentifier? 全球唯一標識符GUID
???
?char? 定長非Unicode的字符型數據,最大長度為8000
?varchar? 變長非Unicode的字符型數據,最大長度為8000
?text? 變長非Unicode的字符型數據,最大長度為2^31-1(2G)
???
?nchar? 定長Unicode的字符型數據,最大長度為8000
?nvarchar? 變長Unicode的字符型數據,最大長度為8000
?ntext? 變長Unicode的字符型數據,最大長度為2^31-1(2G)
???
?binary? 定長二進制數據,最大長度為8000
?varbinary? 變長二進制數據,最大長度為8000
?image? 變長二進制數據,最大長度為2^31-1(2G)

?

Access 數據類型與 MS SQL 數據類型的相應

?文本 nvarchar(n)

備注 ntext

數字(長整型) int

數字(整型) smallint

數字(單精度) real

數字(雙精度) float

數字(字節) tinyint

貨幣 money

日期 smalldatetime

布爾 bit

?

轉載于:https://www.cnblogs.com/window5549-accp/archive/2009/10/11/1580799.html

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

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

相關文章

論公眾號內卷

關注若川視野, 回復"pdf" 領取資料,回復"加群",可加群長期交流學習曾幾何時公眾號文章的標題單純且沒有套路七年前的我就是這樣僅僅把公眾號當做一個寫文章的博客平臺甚至是像有道云一樣的在線筆記平臺當時的標題是這樣子滴《hashma…

PHP 利用Mail_MimeDecode類提取郵件信息

轉載鏈接:http://blog.csdn.net/laijingyao881201/article/details/5512693 重點為one_mail函數。利用Mail_mimeDecode類從郵件中提取郵件頭和郵件正文。 <?php header("content-type:text/html; charsetUTF-8"); /** record kid words and insert into databa…

【轉】概要設計說明書

概要設計說明書 一&#xff0e; 引言 1&#xff0e; 編寫目的 從該階段開發正式進入軟件的實際開發階段&#xff0c;本階段完成系統的大致設計并明確系統的數據結構與軟件結構。在軟件設計階段主要是把一個軟件需求轉化為軟件表示的過程&#xff0c;這種表示只是描繪出軟件的…

程序異常異常代碼: 0xc0000005_Java基礎:看完這篇你還怕碰到異常嗎?

前言在日常的開發以及平時的學習練習中&#xff0c;異常相信對于大家來講并不陌生&#xff0c;但是對于異常的具體使用、底層實現以及分類等等可能并不是很了解。今天我就抽出了一點時間系統的整理了異常的各個知識點&#xff0c;希望能夠幫助到大家對于Java 異常的理解與學習。…

寫給初中級前端工程師的進階指南

學習一門新技術的時候&#xff0c;最大的苦惱之一&#xff0c;大概就是不知道從何入手。典型的情況是&#xff0c;你大概知道學會以后&#xff0c;這門技術可以幫你解決什么問題。但是&#xff0c;怎么才能學會、循序漸進的學習路線是什么、學習范圍有多大的深度和廣度、涉及到…

同一頁面中引入多個JS庫產生的沖突解決方案(轉)

發生JS庫沖突的主要原因&#xff1a;與jQuery庫一樣&#xff0c;許多JS庫都使用‘$’符號作為其代號。因此在一個頁面中引入多個JS庫&#xff0c;并且使用‘$’作為代號時&#xff0c;程序不能識別其代表哪個庫&#xff08;這個是我自己的解釋&#xff0c;但更深的原因就必須深…

不用安裝Oracle Client如何使用PLSQL Developer

1. 下載oracle的客戶端程序包&#xff08;30M&#xff09;只需要在Oracle下載一個叫Instant Client Package的軟件就可以了&#xff0c;這個軟件不需要安裝&#xff0c;只要解壓就可以用了&#xff0c;很方便&#xff0c;就算重裝了系統還是可以用的。下載地址&#xff1a;http…

input file的默認value清空與賦值方法

轉載鏈接&#xff1a;http://www.jb51.net/article/24872.htm出于安全性考慮&#xff0c;JS是不能直接設置File的value值的&#xff0c;下面是我總結出來的方法第1個方法是大多人傳統做法&#xff0c;替換HTML代碼&#xff0c;樓上的已經用到了&#xff0c;我不過是用正則優化一…

python中o_Python I/O與進程的詳細講解

I/Owith語句with context_expression [as target(s)]:with-bodycontext_expression返回值遵從上下文管理協議&#xff0c;包含__enter__()與__exit__()方法&#xff0c;as語句的target(s)得到的是__enter__()返回值&#xff0c;執行with-body后會調用上下文管理器的__exit__()方…

千層套路 - Vue 3.0 初始化源碼探秘

關注若川視野, 回復"pdf" 領取資料&#xff0c;回復"1"&#xff0c;可加群長期交流學習劉崇楨&#xff0c;微醫云服務團隊前端工程師&#xff0c;左手抱娃、右手持家的非典型碼農。9 月初 Vue.js 3.0 正式發布&#xff0c;代號 "One Piece"。大秘…

css網頁布局兼容性有哪些要點與訣竅

IE vs FFCSS 兼容要點&#xff1a;DOCTYPE 影響 CSS 處理FF: div 設置 margin-left, margin-right 為 auto 時已經居中, IE 不行FF: body 設置 text-align 時, div 需要設置 margin: auto(主要是 margin-left,margin-right) 方可居中FF: 設置 padding 后, div 會增加 height 和…

js 下拉底部加載|滑輪滾動到頁面底部ajax加載數據的實例

轉載鏈接&#xff1a;http://www.cnblogs.com/thinksley/archive/2013/05/12/3074237.html 滾動下拉到頁面底部加載數據是很多瀑布流網站的做法&#xff0c;那來看看配合jsonp是如何實現的吧&#xff0c;小菜總結記錄之用&#xff0c;高手勿噴。 當然本例子采用的是jquery庫&…

python并行for循環_Python并行執行for循環

簡介在介紹如何最簡單地利用 python 實現并行前&#xff0c;我們先來看一個簡單的代碼。words [apple, bananan, cake, dumpling]for word in words:print word上面的例子中&#xff0c;我們用一個 for 循環打印出 words 列表中的每個單詞。問題來了&#xff0c;這里我們打印完…

C語言之指針與數組總結

和指針相關的問題口訣1&#xff1a; 1. 地址變量得地址&#xff0c;得誰地址指向誰 和指針相關的問題要畫圖: 內容變量畫房子&#xff0c;指針畫箭頭 ---->口 ---------------------------------------------------- 和指針相關的兩個特殊運算符&#xff1a; 一、"&…

2020年大前端技術趨勢解讀

導Lead語如今的前端早已不再拘泥于滿足頁面展示&#xff0c;而是開始延展到通過全棧來閉環產品。這表明前端已經有能力透過業務深入產業&#xff0c;繼而影響商業結果。這種表象的改變背后是本質的轉變&#xff0c;從更為宏觀的角度來說&#xff0c;前端正在通過持續的技術革新…

HTML默認樣式表CSS屬性

轉載鏈接&#xff1a;http://www.xiao-a.com/index.php/archives/440.html 開始的時候 *{margin:0;padding:0;}&#xff0c;當需要使用邊距的時候&#xff0c;就需要還原HTML默認CSS值了。以前一直在找這份 文檔&#xff0c;今天偶然在w3上看到了。除了inline和block的定義&…

第六集 MSF構思階段項目團隊的組建

第六集 MSF構思階段項目團隊的組建__Note轉載于:https://www.cnblogs.com/zencorn/archive/2009/10/18/1585495.html

lc濾波器是利用電感的感抗_你對LC諧振電路你都了解嗎

根據在電路中電感器L和電容C的連接方式不同&#xff0c;可以有兩種LC諧振電路&#xff0c;LC并聯諧振電路和LC串聯諧振電路。LC并聯、串聯諧振電路在應用中的變化較多&#xff0c;是電路中分析的一個難點&#xff0c;只有掌握LC并聯、串聯電路的阻抗特性等基本概念&#xff0c;…

給小程序再減重 30% 的秘密?(京喜小程序首頁瘦身實踐)

前言—在 web 開發場景&#xff0c;減少代碼體積雖然是性能優化的一個方向&#xff0c;還沒到錙銖必較的程度。但是在小程序場景&#xff0c;由于代碼包上傳階段限制了主包 2M 和總包 16M&#xff08;近期微信官方正在內測將總包上限調整至 20M &#xff09;的尺寸&#xff0c;…