首頁  >  文章  >  資料庫  >  mysql練習之2:運算子的使用

mysql練習之2:運算子的使用

coldplay.xixi
coldplay.xixi轉載
2021-03-09 09:15:021684瀏覽

mysql練習之2:運算子的使用

案例:建立資料表tmp15,其中包含varchar類型的欄位note和int類型的欄位price。

  • 使用運算子對錶tmp15中不同的欄位進行運算。
  • 使用邏輯運算子對資料進行邏輯運算。
  • 使用位元運算子對資料進行位元操作。

(免費學習推薦:mysql影片教學


先建立tmp15表,插入一筆記錄,note值為"Thisisgood ",price值為50,SQL語句如下:

mysql> create table tmp15    -> (
    -> note varchar(100),
    -> price int
    -> );Query OK, 0 rows affected (0.13 sec)mysql> into tmp15 values
    -> (
    -> "Thisisgood",50
    -> );
    mysql> insert into tmp15 values
    -> ("Thisisgood",50);Query OK, 1 row affected (0.06 sec)

(1)對錶tmp15中的整數數值欄位price進行算數運算,SQL語句如下:

mysql> select price,
    -> price + 10,
    -> price - 10,
    -> price * 2,
    -> price / 2,
    -> price % 3
    -> from tmp15;+-------+------------+------------+-----------+-----------+-----------+| price | price + 10 | price - 10 | price * 2 | price / 2 | price % 3 |+-------+------------+------------+-----------+-----------+-----------+|    50 |         60 |         40 |       100 |   25.0000 |         2 |+-------+------------+------------+-----------+-----------+-----------+1 row in set (0.00 sec)

( 2)將表tmp15中的整數數值欄位price進行比較運算,SQL語句如下:

mysql> select price,
    -> price>10,
    -> price<10,
    -> price != 10,
    -> price = 10,
    -> price<=>10,
    -> price<>10
    -> from tmp15;+-------+----------+----------+-------------+------------+------------+-----------+| price | price>10 | price<10 | price != 10 | price = 10 | price<=>10 | price<>10 |+-------+----------+----------+-------------+------------+------------+-----------+|    50 |        1 |        0 |           1 |          0 |          0 |         1 |+-------+----------+----------+-------------+------------+------------+-----------+1 row in set (0.00 sec)

(3)判斷price值是否落在30—80區間、傳回70、30相比最大的值、判斷price是否為in列表(10、20、50、35)中的某個值,SQL語句如下:

mysql> select price,
    -> price between 30 and 80,
    -> greatest(price,70,30),
    -> price in(10,20,50,35)
    -> from tmp15;+-------+-------------------------+-----------------------+-----------------------+| price | price between 30 and 80 | greatest(price,70,30) | price in(10,20,50,35) |+-------+-------------------------+-----------------------+-----------------------+|    50 |                       1 |                    70 |                     1 |+-------+-------------------------+-----------------------+-----------------------+1 row in set (0.00 sec)

(4)對tmp15中的字串數值欄位note進行比較運算,判斷表tmp15中note字段是否為空、使用LIKE判斷是否以字母"t"開頭、使用regexp判斷是否以字母“y”結尾、判斷是否包含字母“g”或“m”,SQL語句如下:

mysql> select note,
    -> note is null,
    -> note like 't%',
    -> note regexp '$y',
    -> note regexp '[gm]'
    -> from tmp15;+------------+--------------+----------------+------------------+--------------------+| note       | note is null | note like 't%' | note regexp '$y' | note regexp '[gm]' |+------------+--------------+----------------+------------------+--------------------+| Thisisgood |            0 |              1 |                0 |                  1 |+------------+--------------+----------------+------------------+--------------------+1 row in set (0.05 sec)

(5)將price欄位值與null、0進行邏輯運算,SQL語句如下:

mysql> select price,
    -> price && 1,
    -> price && null,
    -> price || 0,
    -> price and 0,
    -> 0 and null,
    -> price or null
    -> from tmp15;+-------+------------+---------------+------------+-------------+------------+---------------+| price | price && 1 | price && null | price || 0 | price and 0 | 0 and null | price or null |+-------+------------+---------------+------------+-------------+------------+---------------+|    50 |          1 |          NULL |          1 |           0 |          0 |             1 |+-------+------------+---------------+------------+-------------+------------+---------------+1 row in set (0.00 sec)mysql> select price,
    -> !price,
    -> not null,
    -> price xor 3,
    -> 0 xor null,
    -> price xor 0
    -> from tmp15;+-------+--------+----------+-------------+------------+-------------+| price | !price | not null | price xor 3 | 0 xor null | price xor 0 |+-------+--------+----------+-------------+------------+-------------+|    50 |      0 |     NULL |           0 |       NULL |           1 |+-------+--------+----------+-------------+------------+-------------+1 row in set (0.00 sec)

(6)將price欄位值與2、4進行位元與、位元或運算,並對price進行位元運算,SQL語句如下:

mysql> select price,
    -> price & 2,
    -> price | 4,
    -> ~price from tmp15;+-------+-----------+-----------+----------------------+| price | price & 2 | price | 4 | ~price               |+-------+-----------+-----------+----------------------+|    50 |         2 |        54 | 18446744073709551565 |+-------+-----------+-----------+----------------------+1 row in set (0.00 sec)

(7)將price欄位值分別額左移與右移兩位,SQL語句如下:

mysql> select  price,
    -> price<<2,
    -> price>>2
    -> from tmp15;+-------+----------+----------+| price | price<<2 | price>>2 |+-------+----------+----------+|    50 |      200 |       12 |+-------+----------+----------+1 row in set (0.00 sec)

#相關免費學習推薦:mysql資料庫(影片)

#

以上是mysql練習之2:運算子的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除