作業開発プロセス中に、顧客の名前、携帯電話番号、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を使用してコンテナリソースを制限する方法
1. ElasticSearch 6.4.1 インストール パッケージを次の場所からダウンロードしま...
この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有...
コードをコピーコードは次のとおりです。 <!--リストタグ: <dl>: 階層リス...
目次序文脱構築記号の役割使い方分割割り当ての適用アプリケーションの簡単な紹介JSONデータを抽出する...
ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...
ReadOnly 属性を持つ TextBox は、クライアント上で次のマークアップとして表示されます...
実際のプロジェクトでは、複数のテーブル間に関係が存在します。 1 つのテーブル内のすべてのデータを取...
原因最近、プロジェクトのリファクタリングを始めたのですが、マスタースレーブと読み取り書き込み分離を使...
この記事は議論の出発点となることを目的としています。詳細なドキュメントと easycom の仕様につ...
関連記事: MySQL8.0.20 インストール チュートリアルとインストールの問題に関する詳細なチ...
http://www.cppcns.com/shujuku/mysql/283231.html 8....
MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...
この記事では、シャトルボックス機能を実現するためのjQueryの具体的なコードを参考までに紹介します...
ほとんどのナビゲーション バーは、下の図に示すように水平に配置されていますが、これはどのように実現さ...
1. テーブルを作成する テーブル「学生」を作成( `id` int(11) NULLではない、 `...