2017-12-01 3 views
1

私はテーブルを作成した列のテキストデータを格納しています。私は列から指定されたテキスト値を取得したい。私はPAYMENTDATE値を取得したい。どのようにできるのか?PostgreSQLどのようにテキストデータから指定されたテキストを取得する

"{"SALEDATE":"2017-11-01 12:46:29","PAYMENTDATE":"2017-11-01 12:50:49"}" 
+1

代わりにJSON列を使用していけない理由は? https://www.postgresql.org/docs/9.4/static/datatype-json.html –

+0

あなたは正しいです。私はJSONタイプを知っています。しかし、私はテキストデータを使用する必要があります。 – Hermes

+1

それでも、テキストフィールドをJSONとしてキャストして操作できます。 'text_data :: JSON' –

答えて

1

あなたは文字列から先頭と末尾の"をトリミングした場合、あなたはJSON形式の文字列を持っています。その後、ちょうどjsonにキャストし、そこからデータを抽出するために->>演算子を使用することができます。

SELECT TRIM(BOTH '"' FROM mycol)::JSON->>'PAYMENTDATE' 
FROM mytable 
+0

私の推測では、フィールド内容を印刷した結果です。 –

+0

columnName :: json - >> paymentDateとして 'PAYMENTDATE'これはおかげさまで – Hermes

+0

@JuanCarlosOropezaだからもっと簡単です - 'trim'呼び出しを失うだけです – Mureinik

関連する問題