日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLite 运算符(http://www.w3cschool.cc/sqlite/sqlite-operators.html)

發布時間:2024/9/27 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLite 运算符(http://www.w3cschool.cc/sqlite/sqlite-operators.html) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQLite?運算符

SQLite 運算符是什么?

運算符是一個保留字或字符,主要用于 SQLite 語句的 WHERE 子句中執行操作,如比較和算術運算。

運算符用于指定 SQLite 語句中的條件,并在語句中連接多個條件。

  • 算術運算符

  • 比較運算符

  • 邏輯運算符

  • 位運算符

SQLite 算術運算符

假設變量 a=10,變量 b=20,則:

運算符 描述 實例
+ 加法 - 把運算符兩邊的值相加 a + b 將得到 30
- 減法 - 左操作數減去右操作數 a - b 將得到 -10
* 乘法 - 把運算符兩邊的值相乘 a * b 將得到 200
/ 除法 - 左操作數除以右操作數 b / a 將得到 2
% 取模 - 左操作數除以右操作數后得到的余數 b % a will give 0

實例

下面是 SQLite 算術運算符的簡單實例:

sqlite> .mode line sqlite> select 10 + 20; 10 + 20 = 30sqlite> select 10 - 20; 10 - 20 = -10sqlite> select 10 * 20; 10 * 20 = 200sqlite> select 10 / 5; 10 / 5 = 2sqlite> select 12 % 5; 12 % 5 = 2

SQLite 比較運算符

假設變量 a=10,變量 b=20,則:

運算符 描述 實例
== 檢查兩個操作數的值是否相等,如果相等則條件為真。 (a == b) 不為真。
= 檢查兩個操作數的值是否相等,如果相等則條件為真。 (a = b) 不為真。
!= 檢查兩個操作數的值是否相等,如果不相等則條件為真。 (a != b) 為真。
<> 檢查兩個操作數的值是否相等,如果不相等則條件為真。 (a <> b) 為真。
> 檢查左操作數的值是否大于右操作數的值,如果是則條件為真。 (a > b) 不為真。
< 檢查左操作數的值是否小于右操作數的值,如果是則條件為真。 (a < b) 為真。
>= 檢查左操作數的值是否大于等于右操作數的值,如果是則條件為真。 (a >= b) 不為真。
<= 檢查左操作數的值是否小于等于右操作數的值,如果是則條件為真。 (a <= b) 為真。
!< 檢查左操作數的值是否不小于右操作數的值,如果是則條件為真。 (a !< b) 為假。
!> 檢查左操作數的值是否不大于右操作數的值,如果是則條件為真。 (a !> b) 為真。

實例

假設 COMPANY 表有以下記錄:

ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0

下面的實例演示了各種 SQLite 比較運算符的用法。

在這里,我們使用?WHERE?子句,這將會在后邊單獨的一個章節中講解,但現在您需要明白,WHERE 子句是用來設置 SELECT 語句的條件語句。

下面的 SELECT 語句列出了 SALARY 大于 50,000.00 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE SALARY > 50000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0

下面的 SELECT 語句列出了 SALARY 等于 20,000.00 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE SALARY = 20000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 3 Teddy 23 Norway 20000.0

下面的 SELECT 語句列出了 SALARY 不等于 20,000.00 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE SALARY != 20000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0

下面的 SELECT 語句列出了 SALARY 不等于 20,000.00 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE SALARY <> 20000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0

下面的 SELECT 語句列出了 SALARY 大于等于 65,000.00 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0

SQLite 邏輯運算符

下面是 SQLite 中所有的邏輯運算符列表。

運算符 描述
AND AND 運算符允許在一個 SQL 語句的 WHERE 子句中的多個條件的存在。
BETWEEN BETWEEN 運算符用于在給定最小值和最大值范圍內的一系列值中搜索值。
EXISTS EXISTS 運算符用于在滿足一定條件的指定表中搜索行的存在。
IN IN 運算符用于把某個值與一系列指定列表的值進行比較。
NOT IN IN 運算符的對立面,用于把某個值與不在一系列指定列表的值進行比較。
LIKE LIKE 運算符用于把某個值與使用通配符運算符的相似值進行比較。
GLOB GLOB 運算符用于把某個值與使用通配符運算符的相似值進行比較。GLOB 與 LIKE 不同之處在于,它是大小寫敏感的。
NOT NOT 運算符是所用的邏輯運算符的對立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定運算符。
OR OR 運算符用于結合一個 SQL 語句的 WHERE 子句中的多個條件。
IS NULL NULL 運算符用于把某個值與 NULL 值進行比較。
IS IS 運算符與 = 相似。
IS NOT IS NOT 運算符與 != 相似。
|| 連接兩個不同的字符串,得到一個新的字符串。
UNIQUE UNIQUE 運算符搜索指定表中的每一行,確保唯一性(無重復)。

實例

假設 COMPANY 表有以下記錄:

ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0

下面的實例演示了 SQLite 邏輯運算符的用法。

下面的 SELECT 語句列出了 AGE 大于等于 25?工資大于等于 65000.00 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0

下面的 SELECT 語句列出了 AGE 大于等于 25?工資大于等于 65000.00 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0

下面的 SELECT 語句列出了 AGE 不為 NULL 的所有記錄,結果顯示所有的記錄,意味著沒有一個記錄的 AGE 等于 NULL:

sqlite> SELECT * FROM COMPANY WHERE AGE IS NOT NULL; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0

下面的 SELECT 語句列出了 NAME 以 'Ki' 開始的所有記錄,'Ki' 之后的字符不做限制:

sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%'; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 South-Hall 45000.0

下面的 SELECT 語句列出了 NAME 以 'Ki' 開始的所有記錄,'Ki' 之后的字符不做限制:

sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*'; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 South-Hall 45000.0

下面的 SELECT 語句列出了 AGE 的值為 25 或 27 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 ); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0

下面的 SELECT 語句列出了 AGE 的值既不是 25 也不是 27 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN ( 25, 27 ); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 3 Teddy 23 Norway 20000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0

下面的 SELECT 語句列出了 AGE 的值在 25 與 27 之間的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0

下面的 SELECT 語句使用 SQL 子查詢,子查詢查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,后邊的 WHERE 子句與 EXISTS 運算符一起使用,列出了外查詢中的 AGE 存在于子查詢返回的結果中的所有記錄:

sqlite> SELECT AGE FROM COMPANY WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000); AGE ---------- 32 25 23 25 27 22 24

下面的 SELECT 語句使用 SQL 子查詢,子查詢查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,后邊的 WHERE 子句與 > 運算符一起使用,列出了外查詢中的 AGE 大于子查詢返回的結果中的年齡的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE > (SELECT AGE FROM COMPANY WHERE SALARY > 65000); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0

SQLite 位運算符

位運算符作用于位,并逐位執行操作。真值表 & 和 | 如下:

p q p & q p | q
0 0 0 0
0 1 0 1
1 1 1 1
1 0 0 1

假設如果 A = 60,且 B = 13,現在以二進制格式,它們如下所示:

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

~A? = 1100 0011

下表中列出了 SQLite 語言支持的位運算符。假設變量 A=60,變量 B=13,則:

運算符 描述 實例
& 如果同時存在于兩個操作數中,二進制 AND 運算符復制一位到結果中。 (A & B) 將得到 12,即為 0000 1100
| 如果存在于任一操作數中,二進制 OR 運算符復制一位到結果中。 (A | B) 將得到 61,即為 0011 1101
~ 二進制補碼運算符是一元運算符,具有"翻轉"位效應。 (~A ) 將得到 -61,即為 1100 0011,2 的補碼形式,帶符號的二進制數。
<< 二進制左移運算符。左操作數的值向左移動右操作數指定的位數。 A << 2 將得到 240,即為 1111 0000
>> 二進制右移運算符。左操作數的值向右移動右操作數指定的位數。 A >> 2 將得到 15,即為 0000 1111

實例

下面的實例演示了 SQLite 位運算符的用法:

sqlite> .mode line sqlite> select 60 | 13; 60 | 13 = 61sqlite> select 60 & 13; 60 & 13 = 12sqlite> select 60 ^ 13; 10 * 20 = 200sqlite> select (~60); (~60) = -61sqlite> select (60 << 2); (60 << 2) = 240sqlite> select (60 >> 2); (60 >> 2) = 15

總結

以上是生活随笔為你收集整理的SQLite 运算符(http://www.w3cschool.cc/sqlite/sqlite-operators.html)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。