2017-02-06 10 views
0

私はjsonbオブジェクトを含む列を持つpostgresqlデータベースを持っています。PostGreSQLのjsonbカラムからキーと値のペアを抽出していますか?

私はjsonオブジェクトから単一のキーと値のペアを抽出する必要があります。私は現在考えておらず、これがどのように行われたかの例を見つけることができませんでした。

私は、次の表があります。

---------------------------------------------- 
| id | did | timestamp | data | db_timestamp | 
---------------------------------------------- 

データ列を、私のJSONオブジェクトとそれに含まれるものの1例があるさ:

{"n": 336372148490, "ac": 22.0, "al": 119.0, "be": 346.3, "la": 55.69707492, "lo": 12.58713834, "sa": 5, "sp": 2.6100767, "provider": "gps"} 

それでは、私がやりたいことは書くことです私は単一のキーと値のペアを探します。私は現在、次のクエリを持っています:

SELECT data WHERE did = '357139052424715' and timestamp < 1466642640000 

私は単一のキーと値のペアを抽出したいです。上記のクエリを変更して"la": 55.69707492のみを抽出するにはどうすればよいですか?あなたがこれを行うことができます

答えて

1

:その他の例については

SELECT data->>'la' WHERE did = '357139052424715' and timestamp < 1466642640000 

は、以下を参照してください。

http://clarkdave.net/2013/06/what-can-you-do-with-postgresql-and-json/

+0

は、私は同様に、このデータとの比較を行うことができますか? 'SELECT data - >> 'la' WHEREは= '357139052424715'、タイムスタンプは<1466642640000、データ - > 'la' = 'などです。 – Zeliax

+0

はい、フィルタリングする方法です –

+0

ありがとうございます。これはまさに私が必要としていたものです! – Zeliax

関連する問題