で正規表現を使用してJSONフィールドを抽出します。Oracleは、私が<strong>JSON</strong>文字列からJSONフィールドを抽出するために<strong>正規表現</strong>とOracle <strong>REGEXP_SUBSTR</strong>とOracleのクエリを使用していたOracle REGEXP_SUBSTR
私はコードキーの価値とその価値を得ようとしますが、結果キーの値を取得しようとするとnullを返します。
私はこのクエリを使用しています:
select regexp_replace(regexp_substr('{"code":"001","message":"success","transactionId":437,"results":{"name":"osama"}}','"results":\s*("(\w|)*")', 1, level), '"results":\s*"((\w|)*)"', '\1', 1, 1) results
from dual
connect by regexp_substr('{"code":"001","message":"success","transactionId":437,"results":{"name":"osama"}}', '"results":\s*("(\w|)*")', 1, level) is not null;
このクエリで間違っていますか? ありがとう
これは、\ wが英数字にのみ一致するためです。結果内で一致させようとしている文字列は、中括弧、二重引用符、およびコロンを持つ - '{" name ":" osama "}'です。あなたはoracle 12cにいますか? – ruudvan
ありがとうございます。@ruudvan、いいえ私はオラクル12cを使用していません。正しい表現で私を助けてください。 –