MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL CONCAT()関数でワイルドカード文字を使用するにはどうすればよいですか?


ワイルドカードは、複雑な条件に一致するデータの検索に役立つ文字であることがわかっています。ワイルドカードは、LIKE比較演算子またはNOTLIKE比較演算子と組み合わせて使用​​されます。 MySQLでは、ワイルドカードおよび比較演算子LIKEまたはNOT LIKEを使用して、CONCAT()関数の出力からデータを照合できます。わかりやすくするために、「Student」テーブルの例を示します。

mysql> Select CONCAT(Name,' ', Last_name) AS NAME from student Where CONCAT(Name, ' ',Last_Name) LIKE '%Kumar%';

+---------------+
| NAME          |
+---------------+
| Gaurav Kumar  |
| Harshit Kumar |
+---------------+

2 rows in set (0.00 sec)

mysql> Select CONCAT(Name,' ', Last_name) AS NAME from student Where concat(Name, ' ',Last_Name) NOT LIKE '%Kumar%';

+----------------+
| NAME           |
+----------------+
| Aarav Sharma   |
| Gaurav Rathore |
| Yashraj Singh  |
+----------------+

3 rows in set (0.00 sec)

上記の2つの結果セットから、CONCAT()関数でワイルドカード文字を使用する方法が明らかです。


  1. MySQL REPLACE()関数をWHERE句でどのように使用できますか?

    MySQLクエリに条件を設定するためにWHERE句が使用され、MySQLはそれらの条件に基づいて結果セットを返します。同様に、WHERE句でREPLACE()関数を使用すると、結果セットは提供された条件によって異なります。以下は、REPLACE()関数が列「Subject」の値が「Computers」である列「Name」のレコードを置き換える「Student」テーブルのデータを使用した例です。 例 mysql> Select Name, REPLACE(Name, 'G','S') from student Where Subject = 'Com

  2. テーブルの列でMySQLINTERVAL()関数を使用するにはどうすればよいですか?

    列の名前として最初の引数を指定することにより、テーブルの列でINTERVAL()関数を使用できます。この場合、その列のすべての値がINTERVAL()関数の他の引数として指定された値と比較され、その比較に基づいて結果セットが提供されます。それを理解するために、次のようなemployeeテーブルのデータが使用されます- mysql> Select* from employee568; +----+--------+--------+ | ID | Name   | Salary | +----+--------+--------+ | 1  | Gaurav | 500