2017-06-28 7 views
0

私は、PostgreSQLデータベースにタイプjsonbのフィールドを持っています。
例:Parse jsonbフィールド - PostgreSQL

SELECT data::json->>'notes' as notes 

をしかし、私は使用している場合は何も返されません:

{"timestamp":"2016-12-14T04:15:04.836Z","receiptResult":{"status":"successful","timestamp":"2016-12-14T04:15:04.739Z","notes":"Customer Accepted"}} 

どのように私はselect文で "ノート" を返すことができますが、私が試した

SELECT data::json->'receiptResult' as notes; 

返されるもの:

{"status":"successful","timestamp":"2016-114T04:15:04.739Z","notes":"Customer Accepted"} 

しかし、私は "メモ"の後のテキストが必要です。キーreceiptResultインサイド

答えて

0

は別のJSONオブジェクトを持っている、あなたはトップレベルでそれにアクセスすることはできません。このお試しください:あなたが見ることができるように

WITH sample AS (
    SELECT '{"timestamp":"2016-12-14T04:15:04.836Z","receiptResult":{"status":"successful","timestamp":"2016-12-14T04:15:04.739Z","notes":"Customer Accepted"}}'::jsonb AS my_column 
) 
SELECT my_column->'receiptResult'->>'notes' FROM sample; 

を、->オペレータはJSONBとテキストとして->>オペレータが戻るとして値を返します。

詳細情報here

+0

答えミシェルのためのおかげで、今日のオフィスの外、できるだけ早くテストします。 –

+0

問題ありません。よろしく! –

+0

働いて100%、非常にミシェルありがとう。 –

関連する問題