2017-06-09 8 views
0

JSONフィールドを検索してJSONのすべてのフィールドを検索するにはどうすればよいですか?私は、グローバル検索機能をプログラミングだ、と私はその中で「TOTO」を含むすべての行を返すために、例えば必要があるので、私は、JSONのすべての分野で照会したいPostgreSQLですべてのJSONフィールドを検索

id | JSON 
-------------------------- 
1 | {"name":"toto","age":25,"surname":"toto2"} 

JSON。

私はそれをOPEN_JSON機能を持つSqlServer 2016で管理しました。

は、ここに私のコード

私はPostgresの中で同じことを行う必要があり
SELECT DISTINCT * 
FROM ObjectsTable 
CROSS APPLY OPENJSON([JSON]) as tbValues 
WHERE tbValues.value like '%toto%' 

です。

答えて

4

Postgresのでは基本的に同じですが、cross apply

select o.id, t.* 
from objectstable o 
    cross join lateral json_each_text(o.json) as t(k,val) 
where t.val like '%toto%' 
SQL標準ではとのPostgres

cross join lateralです
関連する問題