21
T-SQL 運運運運運 11/29

T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

  • View
    260

  • Download
    4

Embed Size (px)

Citation preview

Page 1: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

T-SQL 運算子介紹

11/29

Page 2: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

運算子的總類• 指定運算子• 算術運算子• 比較運算子• 邏輯運算子• 位元運算子• 字串連結運算子• 單一運算元運算子

Page 3: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

指定運算子• ONLY ONE -> “ = ” ( 等於 )

UPDATE 書籍SET 價格 = 400 WHERE 書籍名稱 = 'Microsoft Windows Server 系統實務 '

Page 4: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

指定值給變數DECLARE @number intDECLARE @string char(20) SET @number = 100SET @string = ' 天天書局 'SELECT @number AS 數字 , @string AS 字串

Page 5: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

算術運算子• 舉凡加減乘除與求餘數 (%) ,用來做為數值

或日期的運算之用,概稱之。

• SELECT 書籍名稱 , 價格 * 0.75 AS 特惠價• FROM 書籍

Page 6: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

日期運算• 日期往前一天• PRINT CAST('2/20/2006' AS DATETIME) - 1

• 日期往後加 3.25 天• PRINT CAST('2/20/2006' AS DATETIME) + 3.25

• P.S . 輸入未給時間則預設 12:00AM

Page 7: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

比較運算子• 用來比較數字大小或是字串差異

運算子 說明 運算子 說明 運算子 說明 = 等於 > 大於 < 小於>= 大於或等於 <= 小於或等於 <> 不等於!= 不等於 !< 不小於 !> 不大於

Page 8: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

EXAMPLE

SELECT 書籍名稱 , 價格FROM 書籍WHERE 價格 >= 390

SELECT 書籍名稱 , 價格FROM 書籍 WHERE 書籍名稱 = 'AutoCAD 電腦繪圖與圖學 '

Page 9: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

邏輯運算子• 用以判斷條件 TRUE / FALSE• 包含

ALL 、 ANY 、 SOME 、 EXISTS 、 IN 、 BETWEEN 、 LIKE 、 AND 、 RO 、 NOT

Page 10: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

AND

SELECT * FROM 旗旗公司 WHERE ( 價格 > 450 AND 價格 < 500) OR 價

格 < 430

Page 11: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

BETWEEN

• SELECT * • FROM 旗旗公司 • WHERE 價格 BETWEEN 420 AND 510

Page 12: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

IN

• SELECT * • FROM 標標公司 • WHERE 產品名稱 IN ( 'SQL 指令寶典 ',

'AutoCAD 教學 ', 'Linux 手冊 ' )

Page 13: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

LIKE

• SELECT * • FROM 標標公司 • WHERE 產品名稱 LIKE '%SQL%‘

Page 14: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

LIKE 的補充• % -> 在不確定字元數時使用 EX: ‘SQL%’• _ -> 確定為單一個字元時使用 EX: ‘_ _ 筆

’• [] -> 指定可選用的字元項目或字元項目– EX: [S-W]ea => Sea ~Wea– EX: [STU]ea => Sea Tea Uea

• [^] -> 指定不可用字元 – EX:[^S-W ] => Gea Pea

Page 15: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

Not

SELECT * FROM 標標公司WHERE NOT EXISTS ( SELECT * FROM 旗旗公司 WHERE 產品名稱 = 標標公司 . 產品名稱 )

Page 16: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

位元運算子• 包括&(and)

兩個運算元均為 1 才是 1|(OR)

兩個運算元只有其中一個有 1 就是 1^(Exclusive OR)

兩個運算元都一樣時就會 0 1 互換

Page 17: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

位元運算子• PRINT 59 & 12 • PRINT 59 | 12 • PRINT 59 ^ 12

• 59 = 0011 1011• 12 = 0000 1100

Page 18: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

字串連結運算子• 用來連結字串使用,表是符號為 +

• 可使用的資料型別為 char 、 varchar 、 text• 或為其他資料型別要與字串相連,則要先

轉換為字串型別

Page 19: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

EXAMPLE

SELECT 'Linux 架站實務的價格是 ' + CONVERT(varchar, 價格 ) + ' 元 '

FROM 標標公司 WHERE 產品名稱 = 'Linux 架站實務 '

Page 20: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

單一 運算元運算子• + ( 正值 )

• - ( 負值 )

• ~ ( 補數 )– 適用於位元數的互補

Page 21: T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子

EXAMPLE

• 取負值SELECT - 價格 FROM 標標公司 WHERE 產品名稱 = 'Linux 架站實務 '

• 位元補數的轉換PRINT ~ CAST(1 AS tinyint)