210 likes | 333 Views
T-SQL 運算子介紹. 11/29. 運算子的總類. 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子. 指定運算子. ONLY ONE -> “ = ” ( 等於 ) UPDATE 書籍 SET 價格 = 400 WHERE 書籍名稱 = 'Microsoft Windows Server 系統實務 '. 指定值給變數. DECLARE @number int DECLARE @string char(20) SET @number = 100
E N D
T-SQL 運算子介紹 11/29
運算子的總類 • 指定運算子 • 算術運算子 • 比較運算子 • 邏輯運算子 • 位元運算子 • 字串連結運算子 • 單一運算元運算子
指定運算子 • ONLYONE->“=”(等於) UPDATE 書籍 SET 價格 = 400 WHERE 書籍名稱 = 'Microsoft Windows Server 系統實務'
指定值給變數 DECLARE @number int DECLARE @string char(20) SET @number = 100 SET @string = '天天書局' SELECT @number AS 數字, @string AS 字串
算術運算子 • 舉凡加減乘除與求餘數(%),用來做為數值或日期的運算之用,概稱之。 • SELECT 書籍名稱, 價格 * 0.75 AS 特惠價 • FROM 書籍
日期運算 • 日期往前一天 • PRINT CAST('2/20/2006' AS DATETIME) - 1 • 日期往後加3.25天 • PRINT CAST('2/20/2006' AS DATETIME) + 3.25 • P.S. 輸入未給時間則預設12:00AM
比較運算子 • 用來比較數字大小或是字串差異
EXAMPLE SELECT 書籍名稱, 價格 FROM 書籍 WHERE 價格 >= 390 SELECT 書籍名稱, 價格 FROM 書籍 WHERE 書籍名稱 = 'AutoCAD 電腦繪圖與圖學'
邏輯運算子 • 用以判斷條件 TRUE/FALSE • 包含 ALL 、ANY、SOME、EXISTS、IN、BETWEEN、LIKE、AND、RO、NOT
AND SELECT * FROM 旗旗公司 WHERE (價格 > 450 AND 價格 < 500) OR 價格 < 430
BETWEEN • SELECT * • FROM 旗旗公司 • WHERE 價格 BETWEEN 420 AND 510
IN • SELECT * • FROM 標標公司 • WHERE 產品名稱 IN ( 'SQL 指令寶典', 'AutoCAD 教學', 'Linux 手冊' )
LIKE • SELECT * • FROM 標標公司 • WHERE 產品名稱 LIKE '%SQL%‘
LIKE 的補充 • %-> 在不確定字元數時使用 EX:‘SQL%’ • _ -> 確定為單一個字元時使用 EX:‘__ 筆’ • []-> 指定可選用的字元項目或字元項目 • EX:[S-W]ea => Sea ~Wea • EX: [STU]ea => Sea Tea Uea • [^] ->指定不可用字元 • EX:[^S-W] =>Gea Pea
Not SELECT * FROM 標標公司 WHERE NOT EXISTS ( SELECT * FROM 旗旗公司 WHERE 產品名稱 = 標標公司.產品名稱)
位元運算子 • 包括 • &(and) • 兩個運算元均為1才是1 • |(OR) • 兩個運算元只有其中一個有1就是1 • ^(Exclusive OR) • 兩個運算元都一樣時就會01互換
位元運算子 • PRINT 59 & 12 • PRINT 59 | 12 • PRINT 59 ^ 12 • 59=00111011 • 12=00001100
字串連結運算子 • 用來連結字串使用,表是符號為 + • 可使用的資料型別為 char、varchar、text • 或為其他資料型別要與字串相連,則要先轉換為字串型別
EXAMPLE SELECT 'Linux 架站實務的價格是 ' + CONVERT(varchar, 價格) + ' 元' FROM 標標公司 WHERE 產品名稱 = 'Linux 架站實務'
單一 運算元運算子 • +(正值) • -(負值) • ~(補數) • 適用於位元數的互補
EXAMPLE • 取負值 SELECT -價格 FROM 標標公司 WHERE 產品名稱 = 'Linux 架站實務' • 位元補數的轉換 PRINT ~ CAST(1 AS tinyint)