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