程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 用特殊的MySQL運算符獲得更多數據比較功能

用特殊的MySQL運算符獲得更多數據比較功能

編輯:關於MYSQL數據庫

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

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

      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)

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