Sql Server系列:運算符和表達式


  運算符的一些符號,他們能夠用於執行算術運算、字符串連接、賦值以及在字段、常量和變量之間進行比較。在SQL Server 2012中,運算符主要由以下6大類:算術運算符、賦值運算符、比較運算符、邏輯運算符、連接運算符以及按位運算符。

1. 運算符

1.1> 算術運算符

  算術運算符可以在兩個表達式上執行數學運算,這兩個表達式可以是任何數值數據類型。

運算符 作用
+ 加法運算
- 減法運算
* 乘法運算
/ 除法運算,返回商
% 求余運算,返回余數

1.2> 比較運算符

  比較運算符用來比較兩個表達式的大小,表達式可以是字符、數字或日期數據,其比較結果是Boolean值。

運算符 含義
= 等於
> 大於
< 小於
>= 大於等於
<= 小於等於
<> 不等於

1.3> 邏輯運算符

  邏輯運算符可以把多個邏輯表達式連接起來測試,以獲得其真實情況。返回帶有TRUE、FALSE或UNKNOWN的Boolean數據類型。

運算符 含義
ALL 如果一組的比較都為TRUE,則返回TRUE。
AND 如果兩個布爾表達式都為TRUE,則返回TRUE。
ANY 如果一組的比較中任何一個為TRUE,則返回TRUE。
>BETWEEN 如果操作數在某個范圍之內,則返回TRUE。
EXISTS 如果子查詢包含一些行,則返回TRUE。
IN 如果操作數等於表達式列表中的一個,則返回TRUE。
LIKE 如果操作數與一種模式相匹配,則返回TRUE。
NOT 對任何其他布爾運算符的值取反。
OR 如果兩個布爾表達式中的一個為TRUE,則返回TRUE。
SOME 如果在一組比較中,有些為TRUE,則返回TRUE。

1.4> 連接運算符

  加號(+)是字符串串聯運算符,可以將兩個或兩個以上字符串合並成一個字符串。

1.5> 按位運算符

  按位運算符在兩個表達式之間執行位操作,這兩個表達式可以為整數數據類型中的任何數據類型。

運算符 含義
& 位與
| 位或
^ 位異或
~ 數字非

2. 表達式

  根據連接表達式的運算符進行分類,可以將表達式分為算術表達式、比較表達式、邏輯表達式、按位表達式和混合表達式等;根據表達式的作用進行分類,可以將表達式分為字段名表達式、目標表達式和條件表達式。

2.1> 字段名表達式

  字段名表達式可以是單一的字段名或幾個字段的組合,還可以是由字段、作用於字段的集合函數和常量的任意算術組成的運算表達式。主要包括數值表達式、字符表達式、邏輯表達式和日期表達式。

2.2> 目標表達式

  目標表達式有4中構成方式:

  (1)*:表示選擇相應基表和視圖的所有字段。

  (2)<表名>.:表示選擇指定的基表和視圖的所有字段。

  (3)集函數():表示在相應的表中按集函數操作和運算。

  (4)[<表名>.]字段名表達式[,[<表名>.]<字段名表達式>]...:表示按字段名表達式在多個指定的表中選擇。

2.3> 條件表達式

  常用的條件表達式有以下6種:

  (1)比較大小——應用比較運算符構成表達式。

  (2)指定范圍——(NOT)BETWEEN...AND...運算符查找字段值在或者不在指定范圍內的記錄。BETWEEN后面指定范圍的最小值,AND指定范圍的最大值。

  (3)集合(NOT)IN——查詢字段值屬於或不屬於指定集合內的記錄。

  (4)字符匹配——(NOT)LIKE查找字段值滿足匹配字符串中指定的匹配條件的記錄。匹配字符串可以是一個完整的字符串,也可以包含通配符“_”和“%”,“_”表示任意單個字符,"%"表示任意長度的字符串。

  (5)空值IS(NOT) NULL——查找字段值(不)為空的記錄。

  (6)多重條件AND和OR。AND表達式用來查找字段值同時滿足AND相連接的查詢條件的記錄。OR表達式用來查詢字段值滿足OR連接的查詢條件中的任意一個的記錄。AND運算符的優先級高於OR運算符。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM