LIKE を使用した MySQL クエリが、\'ALA\' で始まり、その後に 1 桁の数字が続く文字列と一致しないのはなぜですか?

Patricia Arquette
リリース: 2024-10-26 11:34:02
オリジナル
824 人が閲覧しました

 Why is My MySQL Query Using LIKE Failing to Match Strings Starting with

MySQL クエリでの正規表現マッチング

データベース管理において、正規表現 (regex) は、文字列内のパターンを検索およびマッチングするための強力なツールです。たとえば、特定の文字列条件に基づいてデータベース内の特定のレコードを検索する必要がある場合があります。

問題: LIKE 演算子を使用した正規表現

実行中に問題が発生しました。 LIKE 演算子を使用して、特定の文字列で始まり、その後に 1 桁の数字が続くレコードを検索しようとしています。テーブル内に関連データが存在するにもかかわらず、クエリは一致するレコードを返すことができませんでした。

解決策: LIKE の代わりに REGEXP を使用します

この問題を解決するには、 LIKE の代わりに REGEXP 演算子を使用することをお勧めします。 REGEXP は、より高度で柔軟なパターン マッチング機能を提供します。

正しく動作するように調整されたクエリは次のとおりです:

SELECT trecord FROM `tbl` WHERE (trecord REGEXP '^ALA[0-9]')
ログイン後にコピー

説明:

  • ^ 文字はパターンを文字列の先頭に固定し、「ALA」で始まるレコードと確実に一致させます。
  • [0-9] 文字クラスは、0 ~ 9 の任意の 1 桁と一致します。
  • まとめると、'^ALA[0-9]' は、「ALA」で始まり、その後に 1 桁の数字が続く文字列と一致します。

その他の考慮事項

  • 一部の古いバージョンではサポートされていない可能性があるため、データベース エンジンが REGEXP をサポートしていることを確認してください。
  • 使用している innodb エンジンは REGEXP をサポートしています。
  • 問題が発生した場合は、 PHP MySQL 構成が正しいことを確認してください。

以上がLIKE を使用した MySQL クエリが、\'ALA\' で始まり、その後に 1 桁の数字が続く文字列と一致しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!