MySql:SELECT 語句(五)正則表達式的使用


關鍵字:REGEXP

   REGEXP 語句形式和 LIKE 語句相似,REGEXP 后面跟正則表達式。如果需要區分大小寫,可以在 REGEXP 后加關鍵字 BINARY。

   所有的正則表達式的規則都可以在 SQL 語句中使用,具體見另外一篇文章。 不同的是在引用元字符的時候需要用 \\ 來引用,如:

    SELECT *FROM student WHERE stu_name REGEXP '^t.*\\d+$'; 

1、基本字符匹配

   如查詢學生表中學生姓名包含 13 的所有行:

    SELECT *FROM student WHERE stu_name REGEXP '13';

   

   REGEXP 和 LIKE 的一個重要區別:

      如果使用上面的語句,關鍵字替換為 LIKE,那么不會返回數據。

      因為 LIKE 匹配的是整個列,如果被匹配的文本在列值中出現,LIKE 將不會找到它,相應的行也不會被返回(除非使用通配符)。

      而 REGEXP 是在列值內進行匹配,如果被匹配的文本在列值中出現,REGEXP 會找到並返回。

2、OR 匹配

    符號:|

    如查詢學生表中學生姓名包含 13 或 41 的所有行:

    SELECT *FROM student WHERE stu_name REGEXP '13|41';

     

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM