作業開発プロセス中に、顧客の名前、携帯電話番号、ID カード、およびドキュメントの種類を動的に保存する必要があるという要件が発生しました。これは、フロントエンドが 1 人、2 人、または 3 人の情報を送信する可能性があることを意味し、これは 4 つのフィールド (名前、携帯電話番号、ID カード、ドキュメントの種類) の動的かつ固定されていない数です。 フロントエンドページは次のとおりです。 リストを使用しています [{ "カードID": "110101199003072316", "cstName": "張双児 1", "cstモバイル": "13263654144", "idカードタイプ": "1" }, { "カードID": "11010119900307571X", "cstName": "張双児2", "cstモバイル": "13263654144", "idカードタイプ": "1" }] 製品の要件は、これらの共同顧客情報をファジークエリすることです。 最初は、次のように間違って書きました。
しかし、後になって問題が見つかりました。たとえば、文字 c をあいまいに入力すると、左側の英語のフィールド名「cardId」が一致してしまいます。 正しい構文は次のとおりです。 テーブルフィールド:
使用される主なSQL関数はjson_extract()で、これはJSON形式から指定されたすべてのデータを検索するために使用されます。 1. json配列クエリ json 配列形式のフィールドをあいまいにクエリします。 方向: SELECT * FROM テーブル名 WHERE json_extract(フィールド名,"$[*].json中key") like '%検索する値%'; 例: テーブルから * を選択し、 json_extract(sign_customer_info_ext,"$[*].cstName") を '%h%' のように指定します。 正確なクエリ (注: 正確なクエリでは、クエリ対象のフィールドが属する配列の添え字を指定する必要があります。たとえば、最初の添え字が [0] の場合、2 番目の添え字は [1] になります) テーブルからid、sign_customer_info_extを選択します。WHERE json_extract(sign_customer_info_ext,"$[0].cstName") = 'ghhj中文1355'; 2. 単一のJSONクエリ フロントエンドと MySQL データベースの単一の JSON パラメータ: { "cstName": "馬雲", "cstモバイル": "17879767646", "idCardType": "1", "カードID": "E4813980" } ファジークエリ単一JSONクエリ: 行き方: SELECT id,sign_customer_info_ext FROM table name WHERE json_extract(field name,"$.json中key") like '%马云%'; 例: SELECT id,sign_customer_info_ext FROM table WHERE json_extract(sign_customer_info_ext,"$.cstName") like '%Ma Yun%'; 要約する これで、MySQL で json 形式をクエリする方法に関するこの記事は終了です。MySQL クエリ json 形式フィールドの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Dockerを使用してコンテナリソースを制限する方法
目次複数テーブル結合の基本構文クロス結合と直積現象クロスコネクトデカルト積現象内部結合外部結合左外部...
textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...
目次1. $(".box1").click() メソッドを実装する2. $(&q...
1. インストールパッケージを使用してMySQLをインストールします(オンラインダウンロードは遅すぎ...
1. ファイアウォールの状態を確認するファイアウォールのステータスを確認する systemctl s...
1. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...
私は新年を迎える前からプロジェクトに取り組んでいましたが、ここ数日で、新しいサーバー用に新しく増設し...
目次クラスタクラスターの詳細クラスター内のイベントクラスター内のメソッドクラスター内の属性クラスター...
区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...
ユーザーが初めて MySQL データベースをインストールするとき、初期のルート パスワードを変更する...
1. コマンド方式作成された Swarm クラスターで nginx サービスを実行し、--repli...
ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...
SSH 公開鍵認証は、SSH 認証方式の 1 つです。 SSH パスワードフリーのログインは公開鍵認...
なぜログを読む必要があるのでしょうか?たとえば、コンテナの起動に失敗したがプロンプトが表示されない場...
目次0x01 ドライバーモジュールのロードに失敗しました0x02 ソリューション要約する0x01 ド...