sql的變數類型
① sql中全局變數和局部變數的用法
局部變數是用戶可自定義的變數,它的作用范圍僅在程序內部。在程序中通常用來儲存從表中查詢到的數據,或當作程序執行過程中暫存變數使用。局部變數必須以「@」開頭,而且必須先用DECLARE命令說明後才可使用。其說明形式如下:
DECLARE@變數名變數類型[@變數名變數類型…]
其中變數類型可以是sql server(WINDOWS平台上強大的資料庫平台) 2000支持的所有數據類型,也可以是用戶自定義的數據類型。
在Transact-SQL中不能像在一般的程序語言中一樣使用「變數=變數值」來給變數賦值。必須使用SELECT或SET命令來設定變數的值,其語法如下:
SELECT@局部變數=變數值
SET@局部變數=變數值1212
例:聲明一個長度為10 個字元的變數「id」並賦值
declare@idchar(10)
select@id=『10010001』1212
注意:可以在Select命令查詢數據時,在Select命令中直接將列值賦給變數。
例:查詢編號為「10010001」的員工和工資,將其分別賦予變數name和wage
usepangu
declare@namechar(30)@wagemoney
select@name=e_name,@wage=e_wage
fromemployee
whereemp_id='10010001'
select@namease_name,@wagease_wage123456123456
運行結果如下:
e_namee_wage
-----------------------------------------
張三8000.0000123123
注意:資料庫語言和編程語言有一些關鍵字,關鍵字是在某一一樣下能夠促使某一操作發生的字元組合,為避免沖突和產生錯誤,在命令表、列、變數以及其它對象時應避免使用關鍵字。
全局變數
全局變數是sql server(WINDOWS平台上強大的資料庫平台)系統內部使用的變數,其作用范圍並不局限於某一程序,而是任何程序均可隨時調用全局變數通常存儲一些sql server(WINDOWS平台上強大的資料庫平台)的配置設定值和效能統計數據。用戶可在程序中用全局變數來測試系統的設定值或Transact-SQL命令執行後的狀態值。有關sql server(WINDOWS平台上強大的資料庫平台) 全局變數的詳細情況請參見附錄。
注意:全局變數不是由用戶的程序定義的,它們是在伺服器級定應義的。只能使用預先說明及定義的變局變數。引用全局變數時,必須以「@@」開頭。局部變數的名稱不能與全局變數的名稱相同、否則會在應用中出錯。
② sql資料庫中常用的數據類型有什麼
一、整數數據類型:整數數據類型是最常用的數據類型之一。
1、INT(INTEGER)
INT (或INTEGER)數據類型存儲從-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之間的所有正負整數。每個INT 類型的數據按4 個位元組存儲,其中1 位表示整數值的正負號,其它31 位表示整數值的長度和大小。
2、SMALLINT
SMALLINT 數據類型存儲從-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之間的所有正負整數。每個SMALLINT 類型的數據佔用2 個位元組的存儲空間,其中1 位表示整數值的正負號,其它15 位表示整數值的長度和大小。
二、浮點數據類型:浮點數據類型用於存儲十進制小數。浮點數值的數據在SQL Server 中採用上舍入(Round up 或稱為只入不舍)方式進行存儲。
1、REAL數據類型
REAL數據類型可精確到第7 位小數,其范圍為從-3.40E -38 到3.40E +38。 每個REAL類型的數據佔用4 個位元組的存儲空間。
2、FLOAT
FLOAT數據類型可精確到第15 位小數,其范圍為從-1.79E -308 到1.79E +308。 每個FLOAT 類型的數據佔用8 個位元組的存儲空間。 FLOAT數據類型可寫為FLOAT[ n ]的形式。n 指定FLOAT 數據的精度。n 為1到15 之間的整數值。
當n 取1 到7 時,實際上是定義了一個REAL 類型的數據,系統用4 個位元組存儲它;當n 取8 到15 時,系統認為其是FLOAT 類型,用8 個位元組存儲它。
三、二進制數據類型
1、BINARY
BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到8000 。在使用時必須指定BINARY 類型數據的大小,至少應為1 個位元組。BINARY 類型數據佔用n+4 個位元組的存儲空間。
在輸入數據時必須在數據前加上字元「0X」 作為二進制標識,如:要輸入「abc 」則應輸入「0xabc 」。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數為奇數,則會在起始符號「0X 」後添加一個0,如上述的「0xabc 」會被系統自動變為「0x0abc」。
2、VARBINARY
VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。
不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長度+4個位元組。當BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。
四、邏輯數據類型
1、BIT:BIT數據類型佔用1 個位元組的存儲空間,其值為0 或1 。如果輸入0 或1 以外的值,將被視為1。 BIT 類型不能定義為NULL 值(所謂NULL 值是指空值或無意義的值)。
五、字元數據類型:字元數據類型是使用最多的數據類型。它可以用來存儲各種字母、數字元號、特殊符號。一般情況下,使用字元類型數據時須在其前後加上單引號』或雙引號」 。
1、CHAR
CHAR 數據類型的定義形式為CHAR[ (n) ]。 以CHAR 類型存儲的每個字元和符號佔一個位元組的存儲空間。n 表示所有字元所佔的存儲空間,n 的取值為1 到8000, 即可容納8000 個ANSI 字元。
若不指定n 值,則系統默認值為1。 若輸入數據的字元數小於n,則系統自動在其後添加空格來填滿設定好的空間。若輸入的數據過長,將會截掉其超出部分。
(2)sql的變數類型擴展閱讀:
SQL包括了所有對資料庫的操作,主要是由4個部分組成:
1、數據定義:這一部分又稱為「SQL DDL」,定義資料庫的邏輯結構,包括定義資料庫、基本表、視圖和索引4部分。
2、數據操縱:這一部分又稱為「SQL DML」,其中包括數據查詢和數據更新兩大類操作,其中數據更新又包括插入、刪除和更新三種操作。
3、數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規則的描述,事務控制語句等。
4、嵌入式SQL語言的使用規定:規定SQL語句在宿主語言的程序中使用的規則。
③ 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里的int類型
1、int、bigint、smallint 和 tinyint是使用整數數據的精確數字數據類型。
2、主要類型、范圍、存儲體如下:
1)bigint:從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數據,存儲 8 個位元組。
2)int:從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據。存儲 4 個位元組
3)smallint:從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型數據,存儲2 個位元組。
4)tinyint:從 0 到 255 的整型數據,存儲 1 位元組。
(4)sql的變數類型擴展閱讀:
1、int的定義:int是一種數據類型,在編程語言(C、C++、C#、Java等)中,它是用於定義整數類型變數的標識符。
2、int的概述:int的存在很廣泛,在目前在一般的家用電腦中,int佔用4位元組,32比特,數據范圍為-2147483648~2147483647[-2^31~2^31-1],在微型機中,int佔用2位元組,16比特,數據范圍為-32768~32767[-2^15~2^15-1]。使用printf輸出int佔用位元組數量:printf("%d",sizeof(int)); 除了int類型之外,還有short、long、long long類型可以表示整數。unsigned int 表示無符號整數,數據范圍為[0~2^32-1],unsigned int 表示無符號整數,數據范圍為[0~2^32-1]。
⑤ SQL 存儲過程中變數值類型是TEXT,賦值時候如果帶有%會自動加上[].存入資料庫
sql2005或以上版本支持新數據類型:
varchar(max)
nvarchar(max)
微軟建議使用 varchar(max) 來代替 text,使用 nvarchar(max) 來代替 ntext,使用 varbinary(max) 來代替 image。
max長度可達到2G,遠遠大於8000