意料外的MySQL運算子可獲更多資料功能

來源:互聯網
上載者:User

如果你在最近進行過SELECT或UPDATE查詢,那麼你很可能用到過一個或者多個MySQL的比較子來限制查詢的輸出結果。比較是大多數SELECT查詢不可分割的一部分,而MySQL為這一功能提供了很多函數;根據最近一次統計,它有超過20個這樣的運算子和函數,從著名的=和LIKE到更加難懂的NOT IN和STRCMP()。

本文把重點放在一些不太常見的MySQL資料比較函數和運算子上,討論它們可以被如何運用在應用程式裡比較表格欄位裡的字串、數字和日期/時間或者使用者提供的值。

BETWEEN

BETWEEN運算子是測試在某個範圍內是否存在一個數值或者日期值的有用方式。這個運算子接受兩個參數——最大值和最小值,並測試所提供的值是否在這兩個值的範圍之內。如果在這個範圍之內,運算子就返回一個布爾值——真;否則,它就返回一個偽值。下面就是一個例子:

mysql> SELECT 2350 BETWEEN 100 AND 10000;
+----------------------------+
| 2350 BETWEEN 100 AND 10000 |
+----------------------------+
|             1 |
+----------------------------+
1 row in set (0.18 sec)

下面兩個例子用到了日期值:

mysql> SELECT 20060405 BETWEEN 20060101 AND 20070101;
+----------------------------------------+
| 20060405 BETWEEN 20060101 AND 20070101 |
+----------------------------------------+
|                   1 |
+----------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT 20060405 BETWEEN 20060101 AND 20060401;
+----------------------------------------+
| 20060405 BETWEEN 20060101 AND 20060401 |
+----------------------------------------+
|                   0 |
+----------------------------------------+
1 row in set (0.00 sec)

GREATEST和LEAST

GREATEST和LEAST運算子為判斷一組數字或者時間值中最大和最小值提供了一個便捷的途徑。你一看名字就知道這兩個運算子的作用——下面是一個對一組日期使用GREATEST運算子的例子:

mysql> SELECT GREATEST(20000601, 20000529, 20000604);
+----------------------------------------+
| GREATEST(20000601, 20000529, 20000604) |
+----------------------------------------+
|                20000604 |
+----------------------------------------+
1 row in set (0.00 sec)

而下面是一個對一組數值使用LEAST運算子的例子:

mysql> SELECT LEAST(100, 200, 50, -6, -73, 1000);
+------------------------------------+
| LEAST(100, 200, 50, -6, -73, 1000) |
+------------------------------------+
|                -73 |
+------------------------------------+
1 row in set (0.03 sec)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.