JSON_KEYS
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
SELECT json_keys(json_object( KEY 'a' VALUE 1 KEY 'b' VALUE 2 ))
create.select(jsonKeys(jsonObject(
key("a").value(1),
key("b").value(2))))
.fetch();
结果如下
+-----------+ | json_keys | +-----------+ | ["a","b"] | +-----------+
方言支持
此示例使用 jOOQ
jsonKeys(jsonObject(key("a").value(1), key("b").value(2)))
翻译成以下特定方言的表达式
Aurora Postgres, Postgres, YugabyteDB
(
SELECT coalesce(
json_agg(j),
json_build_array()
)
FROM json_object_keys(json_build_object(
'a', CAST(1 AS int),
'b', CAST(2 AS int)
)) as j(j)
)
ClickHouse
toJSONString(JSONExtractKeys(jsonMergePatch(
toJSONString(map('a', 1)),
toJSONString(map('b', 2))
)))
CockroachDB
(
SELECT coalesce(
json_agg(j),
json_build_array()
)
FROM json_object_keys(json_build_object(
'a', CAST(1 AS int4),
'b', CAST(2 AS int4)
)) as j(j)
)
DuckDB
to_json(json_keys(json_object( 'a', 1, 'b', 2 )))
MariaDB
json_keys(json_merge_preserve(
'{}',
json_object('a', 1),
json_object('b', 2)
))
MySQL
json_keys(json_object( 'a', 1, 'b', 2 ))
Oracle
json_keys(json_object( KEY 'a' VALUE 1, KEY 'b' VALUE 2 ))
Snowflake
object_keys(object_construct_keep_null( 'a', 1, 'b', 2 ))
SQLite
(
SELECT json_group_array(key)
FROM json_each(json_object(
'a', 1,
'b', 2
))
)
Trino
CAST(map_keys(cast(CAST(map_from_entries(ARRAY[
row(
'a',
CAST(1 AS json)
),
row(
'b',
CAST(2 AS json)
)
]) AS json) as map(varchar, json))) AS json)
ASE, Access, Aurora MySQL, BigQuery, DB2, Databricks, Derby, Exasol, Firebird, H2, HSQLDB, Hana, Informix, MemSQL, Redshift, SQLDataWarehouse, SQLServer, Sybase, Teradata, Vertica
/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL
反馈
您对此页面有任何反馈吗? 我们很乐意听到您的意见!