一、概述
SQL通配符是SQL用於匹配字元串的特殊字元。常用的通配符有百分號(%)和下劃線(_),其中%用於表示任意字元(包括零個或多個字元),_用於表示單個字元。
本文將分別介紹%和_的使用方法,以及配合其他SQL關鍵字使用的實例。
二、百分號(%)
1、使用方法:在SQL語句的LIKE操作符中使用%通配符。例如:
SELECT * FROM table WHERE column LIKE '%search_word%'
上述語句將會匹配所有包含search_word的列。
2、如果要匹配特定字元,可以在通配符前加上轉義字元\。例如:
SELECT * FROM table WHERE column LIKE '%\%%'
上述語句將會匹配包含%字元的列。
3、%通配符也可以和其他SQL關鍵字(例如WHERE條件、ORDER BY等)一起使用。例如:
SELECT * FROM table WHERE column LIKE '%search_word%' ORDER BY column DESC
上述語句將會先匹配包含search_word的列,然後按照列的值從大到小排序。
三、下劃線(_)
1、下劃線用於表示單個字元。例如:
SELECT * FROM table WHERE column LIKE 'a_'
上述語句將會匹配所有以a開頭並且長度為2的列。
2、下劃線也可以和%通配符一起使用。例如:
SELECT * FROM table WHERE column LIKE 'a%' AND column LIKE '%b_'
上述語句將會匹配所有以a開頭並且以b結尾的列。
四、示例代碼
下面是一個示例代碼,演示如何使用SQL通配符進行模糊匹配。
CREATE TABLE products ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, description TEXT, price DECIMAL(10,2) NOT NULL, PRIMARY KEY (id) ); INSERT INTO products (name, description, price) VALUES ('Apple', 'This is a red apple', 1.99), ('Orange', 'This is an orange', 0.99), ('Banana', 'This is a banana', 0.49), ('Pineapple', 'This is a fresh pineapple', 2.99), ('Watermelon', 'This is a juicy watermelon', 4.99); -- 匹配包含"apple"的產品 SELECT * FROM products WHERE name LIKE '%apple%'; -- 匹配以"a"開頭的產品 SELECT * FROM products WHERE name LIKE 'a%'; -- 匹配以"le"結尾的產品 SELECT * FROM products WHERE name LIKE '%le'; -- 匹配以兩個"a"開頭、長度為3的產品 SELECT * FROM products WHERE name LIKE 'aa_'; -- 匹配價格小於等於2.99的產品 SELECT * FROM products WHERE price <= 2.99;
五、總結
SQL通配符是非常實用的工具,在需要進行字元串模糊匹配的時候可以大大提高開發效率。掌握了SQL通配符的使用方法,可以讓你在實際開發中更加靈活地運用這個強大的語言。
原創文章,作者:SJZDP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/368972.html