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

NOT LIKE演算子で使用できるさまざまなワイルドカード文字は何ですか?


NOT LIKE演算子は、指定された文字列を持つ文字列を取得しないためにWILDCARD文字とともに使用されることがわかっています。基本的に、WILDCARDは、複雑な条件に一致するデータの検索に役立つ文字です。以下は、NOTLIKE演算子と組み合わせて使用​​できるワイルドカードのタイプです。

%-パーセンテージ

「%」ワイルドカードは、0、1、またはそれ以上の文字のパターンを指定するために使用されます。 NOT LIKE で%ワイルドカードを使用するための基本的な構文 演算子は次のとおりです:

Select Statement…Where column_name NOT LIKE ‘X%’

ここ X moreの単一文字など、指定された開始パターンであり、%は0から始まる任意の数の文字に一致します。

パーセンテージ「%」ワイルドカードは、指定されたパターンでさまざまな方法で使用できます。以下は、%を使用したさまざまなNOTLIKE演算子を示すいくつかの例です。これらの例では、Xは指定されたパターンを表します:

1。 「X%」とは異なります :「X」で始まる値以外の値が検出されます。

mysql> Select * from Student Where Name NOT LIKE 'a%';

+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_Admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 20   | Gaurav  | Jaipur  | Computers |              2017  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+

4 rows in set (0.00 sec)

2。 「%X」とは異なります: それ以外の値は「X」で終わります。

mysql> Select * from Student Where Name NOT LIKE '%v';

+------+---------+---------+----------+--------------------+
| Id   | Name    | Address | Subject  | year_of_Admission  |
+------+---------+---------+----------+--------------------+
| 15   | Harshit | Delhi   | Commerce |              2009  |
| 21   | Yashraj | NULL    | Math     |              2000  |
+------+---------+---------+----------+--------------------+

2 rows in set (0.00 sec)

3。 「%X%」とは異なります: それ以外の値は、任意の位置に「X」があります。

mysql> Select * from Student Where Name NOT LIKE '%h%';

+------+--------+---------+-----------+--------------------+
| Id   | Name   | Address | Subject   | year_of_Admission  |
+------+--------+---------+-----------+--------------------+
| 1    | Gaurav | Delhi   | Computers |              2001  |
| 2    | Aarav  | Mumbai  | History   |              2010  |
| 20   | Gaurav | Jaipur  | Computers |              2017  |
+------+--------+---------+-----------+--------------------+

3 rows in set (0.00 sec)

4。 「X%X」とは異なります それ以外の値は「X」で始まり「X」で終わります。

mysql> Select * from Student Where Name NOT LIKE 'a%v';

+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_Admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 20   | Gaurav  | Jaipur  | Computers |              2017  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+

4 rows in set (0.00 sec)

_アンダースコア

アンダースコアワイルドカードは、1文字だけを一致させるために使用されます。 NOT LIKEで_ワイルドカードを使用するための基本的な構文 演算子は次のとおりです:

ステートメントを選択…column_nameが「X_」に似ていない場合

ここ X moreの単一文字など、指定された開始パターンであり、_は完全に1文字に一致します。

アンダースコアの「_」ワイルドカードは、単独で、または%と組み合わせて、指定されたパターンでさまざまな方法で使用できます。以下は、%を使用したさまざまなNOTLIKE演算子を示すいくつかの例です。これらの例では、Xは指定されたパターンを表します:

1。 「X_」とは異なります: それ以外の値は「X」で始まり、Xの後に1文字だけ含まれていることがわかります。

mysql> Select * from Student Where Year_of_Admission NOT LIKE '200_';

+------+--------+---------+-----------+--------------------+
| Id   | Name   | Address | Subject   | year_of_admission  |
+------+--------+---------+-----------+--------------------+
| 2    | Aarav  | Mumbai  | History   |              2010  |
| 20   | Gaurav | Jaipur  | Computers |              2017  |
+------+--------+---------+-----------+--------------------+

2 rows in set (0.00 sec)

2。 「_X」とは異なります: それ以外の値は「X」で終わり、Xの前に1文字だけあります。

mysql> Select * from Student Where Year_of_Admission NOT LIKE '_017';

+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 2    | Aarav   | Mumbai  | History   |              2010  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+

4 rows in set (0.00 sec)

3。 _X%とは異なります: %ワイルドカードと組み合わせています。 2番目の位置にXがある値以外の値が検出されます。

mysql> Select * from Student Where Name NOT LIKE '_a%';
Empty set (0.00 sec)

4。 X _%_%とは異なります: %ワイルドカードと組み合わせています。 Xで始まり、少なくとも3文字の長さの値以外の値が検出されます。

mysql> Select * from Student Where Name NOT LIKE 'g_%_%';

+------+---------+---------+----------+--------------------+
| Id   | Name    | Address | Subject  | year_of_Admission  |
+------+---------+---------+----------+--------------------+
| 2    | Aarav   | Mumbai  | History  |              2010  |
| 15   | Harshit | Delhi   | Commerce |              2009  |
| 21   | Yashraj | NULL    | Math     |              2000  |
+------+---------+---------+----------+--------------------+

3 rows in set (0.00 sec)

  1. MySQLのさまざまな引用符は何ですか?

    MySQLではバッククォートと一重引用符を使用できます。列名とテーブル名の前後にバックティックを使用でき、列名の値には一重引用符を使用できます。 両方の引用符の例を見てみましょう。上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです- mysql> create table QuotesDemo    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> UserName varchar(20)

  2. MySQLでセット配列にないすべてのレコードを見つける方法は?

    このために、NOT IN()関数を使用できます。 まずテーブルを作成しましょう- mysql> create table DemoTable718 (    Id int,    FirstName varchar(100),    Age int ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable718 values(101,'Chris',26);