1. はじめに不明な値または部分的に既知の値をフィルタリングする場合は、like 演算子を使用できます。like 演算子は、あいまい一致に使用されます。 Like は 2 つのワイルドカードをサポートしています。
ワイルドカードは、その位置に応じて 6 つの異なる方法で一致させることができます。
2. 本文まず、User テーブルを準備します。DDL とテーブルデータは以下のとおりで、そのままコピーして使用できます。 名前を設定します utf8mb4; FOREIGN_KEY_CHECKS = 0 を設定します。 -- ---------------------------- -- ユーザー用テーブル構造 -- ---------------------------- `user` が存在する場合はテーブルを削除します。 テーブル `user` を作成します ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主キー', `name` varchar(255) 文字セット utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ユーザー名', `age` int(11) NOT NULL COMMENT '年齢', `sex` smallint(6) NOT NULL COMMENT '性別', BTREE を使用した主キー (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- ユーザーの記録 -- ---------------------------- `user` に VALUES (1, '李子8', 18, 1) を挿入します。 INSERT INTO `user` VALUES (2, '张三', 22, 1); `user` VALUES (3, '李四', 38, 1) に INSERT INTO します。 `user` VALUES (4, '王五', 25, 1) に INSERT INTO します。 INSERT INTO `user` VALUES (5, '六麻子', 13, 0); `user` VALUES (6, '田七', 37, 1) に INSERT INTO します。 `user` VALUES (7, 'Thank you', 18, 1) に INSERT INTO します。 FOREIGN_KEY_CHECKS = 1 を設定します。 コピーされたコードデータの初期順序は次のとおりです。 mysql> ユーザーから * を選択します。 +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 1 | プラム 8 | 18 | 1 | | 2 | 張三 | 22 | 1 | | 3 | 李思 | 38 | 1 | | 4 | 王武 | 25 | 1 | | 5 | 劉麻子 | 13 | 0 | | 6 | 天斉 | 37 | 1 | | 7 | ありがとう | 18 | 1 | +----+--------+-----+-----+ セット内の行数は 7 です (0.00 秒) 2.1 % ワイルドカード% ワイルドカードには、 必要: 声明: mysql> select * from user where name like '张%'; +----+------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+------+-----+-----+ | 2 | 張三 | 22 | 1 | +----+------+-----+-----+ セット内の 1 行 (0.00 秒) 必要: 声明: mysql> select * from user where name like '%七'; +----+------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+------+-----+-----+ | 6 | 天斉 | 37 | 1 | +----+------+-----+-----+ セット内の 1 行 (0.00 秒) 必要: 名前に「李」という文字が含まれるユーザーを 声明: mysql> select * from user where name like '%李%'; +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 1 | プラム 8 | 18 | 1 | | 3 | 李思 | 38 | 1 | +----+--------+-----+-----+ セット内の 2 行 (0.00 秒) 2.2 _ワイルドカード
必要: 姓がLiで名に中国語の文字が2つしかないユーザーを 声明: mysql> select * from user where name like '李_'; +----+------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+------+-----+-----+ | 3 | 李思 | 38 | 1 | +----+------+-----+-----+ セット内の 1 行 (0.00 秒) 必要: ユーザーテーブル内の3という名前の 声明: mysql> select * from user where name like '_三'; +----+------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+------+-----+-----+ | 2 | 張三 | 22 | 1 | +----+------+-----+-----+ セット内の 1 行 (0.00 秒) 必要: 名前が 3 つ "zi" で、2 番目の "zi" が "ma" であるユーザーを 声明: mysql> select * from user where name like '_麻_'; +----+--------+-----+-----+ | ID | 名前 | 年齢 | 性別 | +----+--------+-----+-----+ | 5 | 劉麻子 | 13 | 0 | +----+--------+-----+-----+ セット内の 1 行 (0.00 秒) 2.3 ワイルドカード使用時の注意事項ワイルドカードは非常に強力で、多くの人が頻繁に使用していると思いますが、文字列の一致はそれほど高速ではないことがよくあります。したがって、ワイルドカードを使用する際にはいくつか留意すべき点があります。
以下もご興味があるかもしれません:
|
>>: Docker Compose のサイドカーモードの詳細な説明
問題を見つける今日はTomcatのソースコードを勉強するつもりなので、公式サイトからTomcatのソ...
目次1. Flinkの概要1.1 基本的な紹介1.2 アプリケーションシナリオ2. 環境の展開2.1...
モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...
目次1. 補助機能2. 例1. mapState と mapGetters 2. mapMutati...
MySQL のログには、エラー ログ、バイナリ ログ、一般クエリ ログ、スロー クエリ ログなどが含...
この記事の主な内容は次のとおりです。 1. 閉じるボタン2.キャレット3. フローティングを素早く設...
毎日の統計情報を取得するプロジェクトを実行する際、プロジェクト ログを分析する必要があります。要件の...
コードをコピーコードは次のとおりです。 <!-- ブラウザがローカル キャッシュからページにア...
<br />それぞれのトピックについて、チーム内でメールで議論します。議論が白熱するにつ...
DOSBox を使用すると、Windows で DOS をシミュレートし、楽しい作業を行うことができ...
まずケースを見てみましょう。vue+swiper を使用して実装します。スライドの高さが異なる場合、...
目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...
開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加さ...
/******************** * カーネルにおけるリンクリストの応用********...
目次1. はじめに2. 再帰3. コールバック関数3.1 匿名コールバック関数3.2 パラメータ付き...