日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)SQLite教程:SQLite運算符

SQLite 運算符

SQLite 運算符是什么?

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

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的吉州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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

  • 算術(shù)運算符

  • 比較運算符

  • 邏輯運算符

  • 位運算符

SQLite 算術(shù)運算符

假設(shè)變量 a=10,變量 b=20,則:

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

實例

下面是 SQLite 算術(shù)運算符的簡單實例:

sqlite> .mode line
sqlite> select 10 + 20;
10 + 20 = 30


sqlite> select 10 - 20;
10 - 20 = -10


sqlite> select 10 * 20;
10 * 20 = 200


sqlite> select 10 / 5;
10 / 5 = 2


sqlite> select 12 %  5;
12 %  5 = 2

SQLite 比較運算符

假設(shè)變量 a=10,變量 b=20,則:

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

實例

假設(shè) 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 子句,這將會在后邊單獨的一個章節(jié)中講解,但現(xiàn)在您需要明白,WHERE 子句是用來設(shè)置 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 運算符用于在給定最小值和最大值范圍內(nèi)的一系列值中搜索值。
EXISTS EXISTS 運算符用于在滿足一定條件的指定表中搜索行的存在。
IN IN 運算符用于把某個值與一系列指定列表的值進行比較。
NOT IN IN 運算符的對立面,用于把某個值與不在一系列指定列表的值進行比較。
LIKE LIKE 運算符用于把某個值與使用通配符運算符的相似值進行比較。
GLOB GLOB 運算符用于把某個值與使用通配符運算符的相似值進行比較。GLOB 與 LIKE 不同之處在于,它是大小寫敏感的。
NOT NOT 運算符是所用的邏輯運算符的對立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定運算符。
OR OR 運算符用于結(jié)合一個 SQL 語句的 WHERE 子句中的多個條件。
IS NULL NULL 運算符用于把某個值與 NULL 值進行比較。
IS IS 運算符與 = 相似。
IS NOT IS NOT 運算符與 != 相似。
|| 連接兩個不同的字符串,得到一個新的字符串。
UNIQUE UNIQUE 運算符搜索指定表中的每一行,確保唯一性(無重復(fù))。

實例

假設(shè) 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 的所有記錄,結(jié)果顯示所有的記錄,意味著沒有一個記錄的 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 存在于子查詢返回的結(jié)果中的所有記錄:

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 大于子查詢返回的結(jié)果中的年齡的所有記錄:

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 位運算符

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

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

假設(shè)如果 A = 60,且 B = 13,現(xiàn)在以二進制格式,它們?nèi)缦滤荆?/p>

A = 0011 1100

B = 0000 1101

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

A&B = 0000 1100

A|B = 0011 1101

~A  = 1100 0011

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

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

實例

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

sqlite> .mode line
sqlite> select 60 | 13;
60 | 13 = 61

sqlite> select 60 & 13;
60 & 13 = 12

sqlite>  select  (~60);
(~60) = -61

sqlite>  select  (60 << 2);
(60 << 2) = 240

sqlite>  select  (60 >> 2);
(60 >> 2) = 15

分享名稱:創(chuàng)新互聯(lián)SQLite教程:SQLite運算符
文章源于:http://www.5511xx.com/article/dhggdps.html