㈠ sql數據類型有哪些
SQL數據類型有以下這些:
1、二進制數據類型。
二進制數據包括 Binary、Varbinary 和 Image
Binary 數據類型既可以是固定長度的(Binary),也可以是變長度的。
Binary[(n)] 是 n 位固定的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲空間的大小是 n + 4 個位元組。
Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲空間的大小是 n + 4個位元組,不是n 個位元組。
2、字元數據類型。
字元數據類型包括char、varchar和text。
字元數據是由字母、符號和數字的任意組合組成的數據。
varchar是可變長度字元數據,其長度不超過8kb。char是最大長度為8kb的固定長度字元數據。超過8kb的ASCII數據可以使用文本數據類型存儲。
3、Unicode 數據類型。
Unicode數據類型包括nchar、nvarchar和ntext。
在Microsoft SQL Server中,傳統的非Unicode數據類型允許使用由特定字元集定義的字元。在安裝SQL Server期間,允許選擇字元集。
在Unicode標准中,包含由各種字元集定義的所有字元。使用Unicode數據類型佔用的空間是使用非Unicode數據類型的兩倍。
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 個存儲位元組)。
5、數字數據類型。
數字數據只包含數字。數字數據類型包括正數和負數、小數(浮點)和整數。
整數由正整數和負整數組成,如39、25、0-2和33967。在Microsoft SQL Server中,存儲在整數中的數據類型是int、smallint和tinyint。
int數據類型存儲的數據多於smallint數據類型,而smallint數據類型存儲的數據多於tinyint數據類型。
使用int數據類型存儲數據的范圍從-2 147 483 648到2 147 483 647(每個值需要四個位元組的存儲空間)。
6、貨幣數據類型。
在 Microsoft SQL Server 中,貨幣數據的數據類型是Money 和 Smallmoney
Money數據類型要求 8 個存儲位元組,Smallmoney 數據類型要求 4 個存儲位元組。
㈡ SQL Server常用數據類型
SQL Server常用數據類型
數據類型是數據的一種屬性,是數據所表示信息的類型。下面是我為大家搜索整理了關於SQLServer常用數據類型,歡迎參考閱讀,希望對大家有所幫助。
SQLServer2000提供了比較多的數據類型供用戶使用,包括字元型數據類型、數值型數據類型、貨幣型數據類型、日期/時間型數據類型等。
一、字元型數據類型
字元型數據類型是使用最多的數據類型。它可以用來存儲各種字母、數字元號、特殊符號。在使用字元類型數據時,必須為其加上單引號。若將數值數據包括在單引號中,將被視為字元類型數據。一般來說,字元型數據類型有兩種基本形式:
(一)CHAR定長字元型數據類型
CHAR數據類型的定義形式為CHAR(n),n為長度,n的取值范圍為1-8000,共佔n個位元組。若存儲的字元串長度小於n,則系統自動使用空格填補剩餘的位置。若存儲的字元串長度大於n,那麼在執行插入記錄語句時將導致執行錯誤。
(二)VARCHAR變長字元型數據類型
VARCHAR數據類型的定義形式為VARCHAR(n),最大長度為n,n的取值范圍為1-8000。VARCHAR數據類型的存儲長度為實際字元串的長度,若存儲的字元串長度小於n,系統不會使用空格填補剩餘的位置。VARCHAR數據類型通常用於存放長度變化較大的字元串,這樣可以節約大量的存儲空間。但是使用varn)數據類型的缺點是,這種變長的存儲方法使得用戶無法確切地估計存儲數據所使用的空間大小。
二、數值型數據類型
數值型數據類型包括整型數據類型、數字數據類型和浮點數據類型三種。
(一)整型數據類型
整型數據類型只存儲整數。整型數據類型包括以下四種:
bigint數據類型
bigint數據類型佔8個位元組,共64位,能夠存儲-263~263-1之間的所有正負整數。在64位中,63位用來存儲數值,1位用來存儲數值的正負。
int數據類型
int數據類型佔4個位元組,共32位,能夠存儲-231~231-1之間的所有正負整數。在32位中,31位用來存儲數值,1位用來存儲數值的正負。
smallint數據類型
smallint數據類型佔2個位元組,共16位,能夠存儲-215~215-1之間的所有正負整數。在16位中,15位用來存儲數值,1位用來存儲數值的正負。
(二)數字數據類型
數字數據類型包括decimal數據類型和numeric數據類型兩種,numeric數據類型與decimal數據類型完全相同。decimal數據類型可以提供小數所需要的實際存儲空間,decimal數據類型最多可存儲38位數字。
decimal數據類型的定義形式為decimal(p,s)。
其中:
p:為指定精度或對象能夠控制的數字個數。
s:為指定可放到小數點右邊的小數位數或數字個數。
p和s必須遵守以下規則:0<=s<=p<=38。
(三)浮點數據類型
浮點數據類型包括float數據類型和real數據類型,這兩種數據類型被稱為近似數據類型。
real數據類型
real數據類型佔4個位元組,共32位,能夠存儲-3.40E+38~3.40E+38之間所有的浮點數。
float數據類型
float數據類型佔8個位元組,共64位,能夠存儲-1.79E+308~1.79E+308之間所有的浮點數。float數據類型可精確到第15位小數。float數據類型可以定義為float(n),n為數據的精度。若n取1到7時,實際上是定義了一個real類型的數據,系統將分配4個位元組的.空間存儲數據;若n取8到15時,系統認為其是float類型,將分配8個位元組的空間存儲數據。
三、貨幣型數據類型
貨幣型數據類型用於存儲貨幣值。在SQLServer2000中提供兩種貨幣型數據類型:money數據類型和smallmoney數據類型。
(一)money數據類型
money數據類型使用8個位元組存儲數據,由兩部分組成,前面4個位元組表示貨幣值的整數部分,後面4個位元組表示貨幣值的小數部分。
(二)smallmoney數據類型
smallmoney數據類型類似於money類型,使用4個位元組存儲數據,前面2個位元組表示貨幣值的整數部分,後面2個位元組表示貨幣值的小數部分。
四、日期/時間型數據類型
日期/時間型數據類型用於存儲日期和時間的結合體。
(一)datetime數據類型
datetime數據類型可以存儲從公元1753年1月1日零時起到公元9999年12月31日23時59分59秒之間的所有日期和時間,其精確度可達三百分之一秒。datetime數據類型佔用8個位元組的存儲空間。
(二)smalldatetime數據類型
smalldatetime數據類型與datetime數據類型相似,但其日期時間范圍較小,可以存儲從1900年1月1日到2079年6月6日,精度可以達到分鍾。smalldatetime數據類型佔用4個位元組的存儲空間。
SQL Server vNext on Linux安裝
今天微軟正式發布上SQL Server 2016 SP1,根據以往的SP1定律,可以在生產環境上使用了。打了SP1的標准版將具有企業版幾乎所有的的功能。只有RAM 超過128GB或者超過24核心或者超過4路的環境才必須要安裝企業版。
還有一個重要的發布:SQL Server vNext on Linux。也是本文介紹安裝的版本。長話短說,開始安裝。
這個版本的SQL Server,官方支持的平台是Red Hat Enterpise 7.2 或者Ubuntu 16.04。但是我手上暫時沒有Red Hat,就用CentOS 7.2試試。我是以root身份安裝的。
1. 安裝
#下載庫配置文件curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo#安裝sudo yum install -y mssql-server
2. 運行配置文件
#運行SQL Server的配置文件進行配置。#這個過程會要你同意License條款,設置SA密碼,設置SQL Server服務開機啟動/opt/mssql/bin/sqlservr-setup
3. 檢查服務狀態
#檢查SQL Server的服務狀態systemctl status mssql-server
4. 修改防火牆
#修改防火牆,允許1433埠systemctl start firewalldfirewall-cmd --zone=public --add-port=1433/tcp --permanentfirewall-cmd --reload
5. 安裝SQL工具,包括sqlcmd和bcp
#下載源的庫配置文件curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo#安裝toolsyum install mssql-tools
6. 連接測試
# 使用sqlcmd的本地連接。直接在-P參數後填密碼或者回車後輸入密碼。sqlcmd -S . -U SA -p
發現sqlcmd的使用方式和windows下是一樣的。返回內容最後有一個根據當前查詢的耗時預估的每秒事務處量。
然後建個庫,建個表試試。
遠程連接。從windows使用sqlcmd,用外網IP連接
使用SSMS連接,我使用是SQL 2014安裝時自帶SSMS,可能會有一些不支持問題。可以看到Agent沒啟動的,實際上是這個版本沒有Agent。
有意思的是,使用SSMS可以創建庫,卻不能創建表。從錯誤信息來看,似乎是不支持圖形界面創建表。
總結:
嘗鮮性地測試一下,有機會還會測試更多功能。目前不支持Agent,復制和大部分BI功能組件。
很多人對SQL Server On Linux是有所期待。如果它在Linux上的表現與之在以往Windows上的表現一樣優秀的話,我相信會有更多人會使用它的。
SQL Server On Linux的更多文檔內容:SQL Server on Linux Documentation
;㈢ 二、資料庫與數據表--2、SQLServer的數據類型
(1)文本類型: 字元數據包悉讓含任意字母、符號或數字字元的組合
char: 固定長度的非Unicode字元數據,最大長度為8000個字元
varchar: 可變長度的非Unicode數據,最大長度為8000個字元
text: 存儲長文本信息,最大長度為2^31-1(2147483647)個字元
nchar: 固定長度的Unicode數據,最大長度為4000個字元
narchar: 可變長度的Unicode數據,最大長度為4000個字元
ntext: 存儲長文本信息,最大長度為2^30-1(1073741823)個字元
(Unicode是國際組織制定的可以容納世界上所有文字和符號的字元編碼方案,編碼數據長度是非編碼數據的兩倍)
(2)整數類型
bigint: 佔用8個位元組,可表示範圍-2^63~2^63-1之間的整數
int: 佔用4個位元組
smallint: 佔用2個位元組
tinint: 佔用1個位元組,可表示0~255之間的整數
(3)精確數字類型
decimal: -10^38~10^38-1之間固定精度和小數位的數字
numeric(常用): 功能等同於旦飢decimal
寫法:
decimal(整數,小數)和numeric(整數,小數)——若不指定位數,默認18位整數,0位小數:
(4)近似數字(浮點)類型(很少用,可以用numeric替代)
float[(n)]: 表示範圍-1.79E+308~1.79E+308
n 表示精度,在1-53之間取值,當n在1~24之間時,精度為7位有效數字,佔用4個位元組;當n在25~53之間時,精度為15位有效數字,佔8個位元組。
real: 表示範圍-3.40E+38~3.40E+38佔用4個位元組,相當於float(24)
(5)日期類型
datetime: 允許范圍1753-1-1至9999-1-1
smalldatetime(常用): 允許范圍1900-1-1至2079-6-6
時間精度不同: datetime精確到3%秒;smalldatetime精確到1分鍾
格式說明:
分隔符數字方式: 2013-08-20 或 08/20/2013
純數字方式: 08202013
英文數字類型: Aug 20,2013
注意問題: 日期在使用的時候需要使用單引號' ' 括起來
(6)貨幣類型
money: 貨幣數值介於-2^63與2^63-1之間,精確到貨幣單位的千分之一
smallmoney: 貨幣數據介於-214748.3648與214748.3648之間,精確到貨幣單位的千分之十
(7)位類型
bit: 表示「是/否」類型的數據(1/0,true/false)
(8)二進制類型
binary: 固定長度的二進制數據,最大8000個位元組
vbinary: 可變長度的二進制數據,最大8000個位元組
image: 可變長度的模陸返二進制數據,最大長度2^31個位元組—— 應用場合: 可存儲圖片
㈣ sqlserver的數據類型
sqlserver的數據類型比較多,常用的包括:
第一大類:整數數據
bit:bit數據類型代表0,1或NULL,就是表示true,false.佔用1byte.
int:以4個位元組來存儲正負數.可存儲范圍為:-2^31至2^31-1.
smallint:以2個位元組來存儲正負數.存儲范圍為:-2^15至2^15-1
tinyint: 是最小的整數類型,僅用1位元組,范圍:0至此^8-1
第二大類:精確數值數據
numeric:表示的數字可以達到38位,存儲數據時所用的位元組數目會隨著使用權用位數的多少變化.
decimal:和numeric差不多
第三大類:近似浮點數值數據
float:用8個位元組來存儲數據.最多可為53位.范圍為:-1.79E+308至1.79E+308.
real:位數為24,用4個位元組,數字范圍:-3.04E+38至3.04E+38
第四大類:日期時間數據
datatime:表示時間范圍可以表示從1753/1/1至9999/12/31,時間可以表示到3.33/1000秒.使用8個位元組.
smalldatetime:表示時間范圍可以表示從1900/1/1至2079/12/31.使用4個位元組.
第五大類:字元串數據
char:長度是設定的,最短為1位元組,最長為8000個位元組.不足的長度會用空白補上.
varchar:長度也是設定的,最短為1位元組,最長為8000個位元組,尾部的空白會去掉.
text:長寬也是設定的,最長可以存放2G的數據.
第六大類:Unincode字元串數據
nchar:長度是設定的,最短為1位元組,最長為4000個位元組.不足的長度會用空白補上.儲存一個字元需要2個位元組.
nvarchar:長度是設定的,最短為1位元組,最長為4000個位元組.尾部的空白會去掉.儲存一個字元需要2個位元組.
ntext:長度是設定的,最短為1位元組,最長為2G.尾部的空白會去掉,儲存一個字元需要2個位元組.
第七大類:貨幣數據類型
money:記錄金額范圍為:-92233720368577.5808至92233720368577.5807.需要8 個位元組.
smallmoney:記錄金額范圍為:-214748.3648至214748.36487.需要4個位元組.
第八大類:標記數據
timestamp:該數據類型在每一個表中是唯一的!當表中的一個記錄更改時,該記錄的timestamp欄位會自動更新.
uniqueidentifier:用於識別資料庫裡面許多個表的唯一一個記錄.
第九大類:二進制碼字元串數據
binary:固定長度的二進制碼字元串欄位,最短為1,最長為8000.
varbinary:與binary差異為數據尾部是00時,varbinary會將其去掉
image:為可變長度的二進制碼字元串,最長2G.
㈤ sql server 常用的幾個數據類型
Sql
server中常用的幾個數據類型:
binary
固定長度的二進制數據,其最大長度為
8,000
個位元組。
varbinary
可變長度的二進制數據,其最大長度為
8,000
個位元組。
image
可變長度的二進制數據,其最大長度為
2G+
-
1
(2,147,483,647)
個位元組
text
伺服器代碼頁中的可變長度非
Unicode
數據的最大長度為
2G+
(2,147,483,647)
個字元。當伺服器代碼頁使用雙位元組字元時,存儲量仍是
2,147,483,647
位元組。存儲大小可能小於
2,147,483,647
位元組(取決於字元串)。
image
可變長度二進制數據介於
0
與
2G+
(2,147,483,647)
位元組之間
--binary
和
varbinary
固定長度
(binary)
的或可變長度
(varbinary)
的
binary
數據類型。
binary
[
(
n
)
]
固定長度的
n
個位元組二進制數據。N
必須從
1
到
8,000。存儲空間大小為
n+4
位元組。
varbinary
[
(
n
)
]
n
個位元組變長二進制數據。n
必須從
1
到
8,000。存儲空間大小為實際輸入數據長度
+4
個位元組,而不是
n
個位元組。輸入的數據長度可能為
0
位元組。在
SQL-92
中
varbinary
的同義詞為
binary
varying。
注釋
1.
如果在數據定義或變數聲明語句中沒有指定
n,默認長度為
1。如果沒有用
CAST
函數指定
n,默認長度為
30。
2.
當列數據項大小一致時應使用
binary。
3.
當列數據項大小不一致時應使用
varbinary