だから、ここjson_extract
を使用する方法の最初の例です。私たちがいないものならば、
sqlite> select user.phone from user where user.name=='oz';
{"cell":"+491765","home":"+498973"}
sqlite>
をしかし:今すぐ
insert into user (name, phone) values("oz", json('{"cell":"+491765", "home":"+498973"}'));
、我々は通常のSQLのように、すべてのユーザーの電話番号を選択することができます。まず、データは少し異なる方法で挿入されています私たちは唯一の携帯電話が欲しいですか?
はjson_extract
を入力します。
sqlite> select json_extract(user.phone, '$.cell') from user;
+491765
そして、これはjson_extract
を使用する方法です。
json_set
を使用すると同様です。
sqlite> select json_set(json(user.phone), '$.cell', 123) from \
user;
{"cell":123,"home":"+498973"}
これらの関数呼び出しを他のSQLクエリで組み合わせることができます。したがって、 は、構造化データではSQLiteを使用し、 JSONでは非構造化データで使用できます。ここで
は、ユーザーの携帯電話を更新する方法である:
sqlite> update user
...> set phone =(select json_set(json(user.phone), '$.cell', 721) from user)
...> where name == 'oz';
sqlite> select * from user;
oz|{"cell":721,"home":"+498973"}
あなたはJSONフィールドの値に基づいてSELECT文を行うことができます方法はありますか? –
ユーザーの選択json_extract(user.phone、 '$ .cell = 491765')のようなもの; –