sqlserver int转varchar_SQL server 常用数据类型讲解
? ? ? ??(1)整數(shù)數(shù)據(jù)類型
整數(shù)數(shù)據(jù)類型是SQL Server 2014 中最常用的數(shù)據(jù)類型之一,主要用于存儲整數(shù)值,如存放“年齡”、“工齡”等信息,數(shù)值型的數(shù)據(jù)可以直接進行運算處理。具體來說:SQL Server 2014的整數(shù)類型包含如下4種:
①????Int (integer)
Int(或integer)的存儲容量為4個字節(jié),其中一個二進制位表示正負符號,一個字節(jié)8位。根據(jù)字節(jié)大小,用戶可以算出它所能存儲的數(shù)據(jù)容量為31位,存儲范圍為-231~231-1內(nèi)所有的整數(shù)。
②????Smallint
Smallint的存儲量為2個字節(jié),其中一個二進制位表示正負符號,剩余的15位用來存儲數(shù)據(jù)內(nèi)容,器存儲范圍為-215~215-1內(nèi)所有的整數(shù)。
③????Tinyint
Tinyint只占用一個字節(jié)存儲空間,用于存儲0~255中所有的整數(shù)。
④????Bigint
Bigint是所有整數(shù)類型中存儲量最大的,存儲容量達到8個字節(jié),可存儲的數(shù)據(jù)范圍為-263~263-1中所有的整數(shù)。
(2)浮點數(shù)據(jù)類型
浮點數(shù)據(jù)類型用于存儲十進制的小數(shù)。浮點類型的數(shù)值在SQL Server 2014中使用了上舍入(或稱只入不舍)的方法進行存儲,當且僅當要舍入的是一個非零整數(shù)時,對其保留數(shù)字部分的最低有效位上的數(shù)值加1,
①????Real
Real類型的存儲空間為4個字節(jié),可精確到第7位小數(shù),其范圍從-3.4E + 38 ~ 3.40E + 38.
②????Float
Float 數(shù)據(jù)類型是一種近似數(shù)值類型,供浮點數(shù)使用。浮點數(shù)是近似的,是因為在其范圍內(nèi)不是所有的數(shù)都能精確表示。浮點數(shù)可以是從-1.79E + 308 ~ 1.79E + 308的任意數(shù)。
③????Decimal
Decimal 數(shù)據(jù)類型提供浮點數(shù)所需要的實際存儲空間,能用來存儲從-1038-1~1038-1的固定精度和范圍的數(shù)值型數(shù)據(jù)。使用這種數(shù)據(jù)類型時,必須指定范圍和精度。范圍是小數(shù)點左右所能存儲的數(shù)字的總位數(shù);精度是小數(shù)點右邊存儲的數(shù)字的位數(shù)。例如:decimal(13,3)表示共有13位,其中整數(shù)10位,小數(shù)3位。
(3)字符類型
字符類型同樣是SQL Server 2014 中常用的數(shù)據(jù)類型,可用于存儲漢字、符號、英文、標點符號等,數(shù)字同樣可以作為字符類型來存儲。SQL Server 2014 的字符型類型包含如下4種:
①???Char
Char數(shù)據(jù)類型用來存儲指定長度的定長非統(tǒng)一編碼型的數(shù)據(jù)。當定義一列為此類型時,用戶必須指定列長。當用戶知道要存儲的數(shù)據(jù)的長度時,此數(shù)據(jù)類型就較為適用。例如,當一個字段要用于存儲手機號碼時,需要用到11個字符,char類型默認為存儲一個字符,最多可存儲8000字符。
②???Varchar
Varchar數(shù)據(jù)類型,同char類型一樣,用來存儲非統(tǒng)一編碼型字符數(shù)據(jù)。與char型不一樣,此數(shù)據(jù)類型為變長。當定義一列為該數(shù)據(jù)類型時,你要指定該列的最大長度。它與char數(shù)據(jù)類型最大的區(qū)別是,存儲的長度不是列長,而是數(shù)據(jù)的長度。
③???Nchar
Nchar數(shù)據(jù)類型用來存儲定長統(tǒng)一編碼字符型數(shù)據(jù)。統(tǒng)一編碼用雙字節(jié)結(jié)構(gòu)來存儲每個字符,而不是用單字節(jié)(普通文本中的情況)。它允許大量的擴展字符。此數(shù)據(jù)類型能存儲4000種字符,使用的字節(jié)空間上增加了一倍。
④???Nvarchar
Nvarchar數(shù)據(jù)類型用作變長的統(tǒng)一編碼字符型數(shù)據(jù)。此數(shù)據(jù)類型能存儲4000種字符,使用的字節(jié)空間上增加了一倍。
(4)日期和時間類型
①?Date
Date 類型用于存儲常用日期,該類型占3個字節(jié)的存儲空間,數(shù)據(jù)的存儲格式為“YYYY-MM-DD”;
YYYY:表示日期的年份,取值范圍0001~9999。
MM:表示日期中的月份,取值范圍為01~12。
DD:表示日期中的某一天,取值范圍為01~31。
②?Time
Time 類型用于存儲一天當中的某一個時間,該類型占5個字節(jié)的存儲空間,數(shù)據(jù)的存儲格式為“HH:MM:SS[.NNNNNNN]”
???? ? ?HH:表示存儲時間的小時位,取值范圍為0~23。
???? ? ?MM:表示存儲時間的分鐘位,取值范圍為0~59。
???? ? ?DD:表示存儲時間的秒位,取值范圍為0~59。
???? ? ?N:表示存儲時間秒的小數(shù)位,取值范圍為0~9999999。
③?Datetime
Datetime數(shù)據(jù)類型用來表示日期和時間。這種數(shù)據(jù)類型存儲從1753年1月1日到9999年12月31日間所有
的日期和時間數(shù)據(jù),精確到三百分之一秒或3.33毫秒,該類型占用8個字節(jié)的存儲空間。
④?Datetime2
Datetime2是從SQL Server 2008版本以后支持的新日期類型,它是datetime的一個擴展,相比于datetime,
Datetime2所支持的日期從0001年01月01日到9999年12月31日,它的時間精度為100納秒,占用6~8個字節(jié)的存儲空間。
⑤???Smalldatetime
Smalldatetime類型與datetime的類型相似,只是它所支持的日期范圍更小,從1900年1月1日到2079年6月6日,占用4字節(jié)的存儲空間。
(5)文本和圖形數(shù)據(jù)類型
①???Text
Text數(shù)據(jù)類型用于存儲大容量的文本數(shù)據(jù),它的理論容量為231-1(2147483674)個字節(jié),在實際使用中text類型時需要注意硬盤容量。
②???Ntext
Ntext數(shù)據(jù)類型與text類型相似,不同的是ntext類型采用unicode標準字符集(Character set),因此其理論容量為230-1(1073741823)個字節(jié)。
③???Image
Image數(shù)據(jù)類型用于存儲大量的二進制數(shù)據(jù)Binary Data。其理論容量為231-1(2147483647)個字節(jié)。其存儲數(shù)據(jù)的模式與text數(shù)據(jù)類型相同。通常用來存儲圖形等對象。
注意:未來的Mircosoft SQL Server版本中將不再使用Text、Ntext和image數(shù)據(jù)類型,為了避免在開發(fā)中出現(xiàn)問題請不要使用,可以使用nvarchar(max)、varchar(max)和varbinary(max)替代。
(6)貨幣數(shù)據(jù)類型
①???Money
Money數(shù)據(jù)類型用于存儲貨幣值,money數(shù)據(jù)類型的存儲范圍是-922337203685477.5808至+922337203685477.5807,占用8個字節(jié)的存儲空間。
②???smallmoney
smallmoney與money數(shù)據(jù)類型的作用一致,只是取值范圍更小,在-214748.3648至214748.3647之間,占用4個字節(jié)的存儲空間。
(7)位數(shù)數(shù)據(jù)類型
Bit在SQL Server 2014中稱為位數(shù)據(jù)類型,它的取值范圍在0或1之間。Bit類型常用邏輯的判斷,true為1,false為0。
(8)二進制數(shù)據(jù)類型
①???Binary
Binary(N)是一個固定長度為N字節(jié)的二進制數(shù)據(jù)類型,它的存儲范圍由N來決定,N的取值范圍為1~8000,存儲空間為N字節(jié)。為了表示二進制數(shù)據(jù),在輸入時需在數(shù)據(jù)前面加上“0X”作為二進制標識,例如輸入0XBB4代表BB4。
②???Varbinary
Varbinary數(shù)據(jù)類型用來存儲可達8000字節(jié)的變長的二進制數(shù)據(jù)。當輸入表的內(nèi)容大小可變時,你應該使用這種數(shù)據(jù)類型。
(9)其他數(shù)據(jù)類型
①???Rowversion
在SQL Server 2014中,每一次對數(shù)據(jù)表的更改SQL Server都會更新一個內(nèi)部的序列數(shù),這個序列數(shù)就保存在rowversion字段中。所有Rowversion 列的值在數(shù)據(jù)表中是唯一的,并且每張表中只能有一個包含rowversion字段的列存在。
使用rowversion作為數(shù)據(jù)類型的列,其字段本身的內(nèi)容是無自身含義的,這種列的主要是作為數(shù)據(jù)是否被修改過,更新是否成功的作用列。
②???Timestamp
Timestamp時間戳數(shù)據(jù)類型和rowversion有一定的相似性,每次插入或更改包含timestamp的記錄時,timestamp的值就會更新,一張表中只能有一個timestamp列。在創(chuàng)建表時只需要提供數(shù)據(jù)類型即可,不需要為timestamp所在的數(shù)據(jù)列提供列名:
createtableTestTable1(PriKey,intPrimarykey,timestamp)
?????? 使用rowversion時不具備這種特性,如果要為某一列指定為rowversion數(shù)據(jù)類型時需聲明列名:
createtabletesttable2(PriKey intprimarykey,VeColrowversion)
③???Uniqueidentifier
全局唯一標識符GUID,一般作用主鍵的數(shù)據(jù)類型,是由硬件地址、CPU標識、時鐘頻率所組成的隨機數(shù)據(jù),在理論上每次生成的GUID都是全球獨一無二不存在重復的。通常在并發(fā)性較強的環(huán)境下可以考慮使用。它的優(yōu)點在于全球唯一性、可對GUID值隨意修改,但是確定也很明顯,檢索速度慢、編碼閱讀性差。
④???Cursor
游標數(shù)據(jù)類型,該類型的數(shù)據(jù)用來存放數(shù)據(jù)庫中選中所包含的行和列,只是一個物理地址的引用并不包含索引,用于建立數(shù)據(jù)集。
⑤???Sql_variant
用于存儲SQL Server 2014支持的各種數(shù)據(jù)類型(不包括Text、Ntext、Image、Timestamp和SQL_Variant)的值。
?????? 注意:微軟后續(xù)的SQL版本中將不再使用Timestamp數(shù)據(jù)類型,請避免使用。
總結(jié)
以上是生活随笔為你收集整理的sqlserver int转varchar_SQL server 常用数据类型讲解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内网通免广告_3D打印进军广告发光字领域
- 下一篇: windows无法启动oraclerem