sql >> データベース >  >> RDS >> Mysql

MySQLクエリのWHERE列はjson配列にあります

    これはMysql5.7でのみ実現できると思います。

    バージョン5.7では、次のようなことができます。

    SELECT JSON_EXTRACT(json_field, '$.name');
    

    名前キーのみを抽出します jsonオブジェクトから。

    「JavaScript」タグが付いたすべてのアイテムを検索します:

    SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
    

    「Java」で始まるタグを持つすべてのアイテムを検索します:

    SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
    

    「one」を使用して最初の一致を検索するか、「all」を使用してすべての一致を検索します

    JSONパスを使用してTwitterのニックネームを抽出できます:

    SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
    

    WHERE句でJSONパスを参照して、Twitterアカウントを持つユーザーのみを返すこともできます:

    SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
    

    次のようなことができます:

    • JSON値の作成

    • JSON値の正規化、マージ、および自動ラッピング

    • JSON値の検索と変更

    • JSON値の比較と順序付け

    • JSON値の集計

    詳細については、 https://dev.mysqlを参照してください。 com / doc / refman / 5.7 / en / json.html



    1. java.io.IOException:不正なUTF-8シーケンス:最初のバイトは11111xxx:252-EclipseおよびPostgreSQL

    2. mysqlの発行順

    3. SQL/Postgres日時除算/正規化

    4. CONCAT()を使用してSQLServerで文字列を連結する方法