程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> MYSQL教程:表達式操作符和數據類型轉換

MYSQL教程:表達式操作符和數據類型轉換

編輯:更多數據庫知識

1.表達式操作符

Table 1 算術操作符

操作符 語法 含義 + a + b 相加 - a - b 相減 - - a 求負 * a * b 乘法 / a / b 除法 % a % b 求余

Table 2. 邏輯操作符

操作符 語法 含義 AND 或 && a AND b 或 a && b 邏輯與,若兩個操作數同時為真,則為真 OR 或 || a OR b 或 a || b 邏輯或,只要有一個操作數為真,則為真 XOR a XOR b 邏輯異或,若有且僅有一個操作數為真,則為真 NOT 或 ! NOT a 或 !a 邏輯非,若操作數為假,則為真

Table 3. 位操作符

操作符 語法 含義 & a & b 按位與,若操作數同位同為1,則該位為1 | a | b 按位或,若操作數同位有一位為1,則該位為1 ^ a ^ b 按拉異或,若操作數同一位分別為1和0,則該位為1 << a << b 把a中的各個位左移b個位置 >> a >> b 把a中的各個位右移b個位置

Table 4. 比較操作符

操作符 語法 含義 = a = b 若兩個操作數相等,則為真 <=> a <=> b 若兩個操作數相等,則為真,可用於NULL值比較 != 或 <> a != b 或 a <> b 若兩個操用數不等,則為真 < a < b 若a小於b,則為真 <= a <= b 若a小於或等於b,則為真 > a > b 若a大於b,則為真 >= a > b 若a大於或等於b,則為真 IN a IN (b1,b2,...) 若a等於b1,b2,...中的某一個,則為真 BETWEEN a BETWEEN b AND c 若a在b和c之間(包括b和c),則為真 NOT BETWEEN a NOT BETWEEN b AND c 若a不在b和c之間(包括b和c),則為真 LIKE a LIKE b SQL模式匹配,若a匹配b,則為真 NOT LIKE a NOT LIKE b SQL模式匹配,若a不匹配b,則為真 REGEXP a REGEXP b 正則表達式匹配,若a匹配b,則為真 NOT REGEXP a NOT REGEXP b 正則表達式匹配,若a不匹配b,則為真 IS NULL a IS NULL 若a為NULL,則為真 IS NOT NULL a IS NOT NULL 若a不為NULL,則為真     LIKE模式匹配中的“%”匹配任意個字符,“_”匹配一個字符。匹配不區分大小寫字符。

Table 5. 操作符優先級(由高至低排列)

操作符 BINARY,COLLATE NOT、! ^ XOR -(一元求負操作符)、~(一元取反操作符) *、/、% +、- <<、>> & | <、<=、=、<=>、!=、<>、>=、>、IN、IS、LIKE、REGEXP、RLIKE BETWEEN、CASE、WHEN、THEN、ELSE AND、&& OR、|| :=

2. 類型轉換

在MySQL的表達式中,如果某個數據值的類型與上下文所要求的類型不相符,MySQL則會根據將要進行的操作自動地對數據值進行類型轉換。如:

1 + '2'      會轉換成1 + 2 = 3
1+ 'abc'     會轉換成1 + 0 = 1 由於abc不能轉換成任何的值,所以默認為0

MySQL會根據表達式上下文的要求,把字符串和數值自動轉換為日期和時間值

對於超范圍或非法的值,MySQL也會進行轉換,但轉換出來的結果是錯誤的。出現該情況時,MySQL會提示警告信息,我們可捕獲該信息以進行相應的處理。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved