任何人都可以帮助我如何通过查询自身来获取 MySQL table/s 格式的 JSON 数据,这类似于 MS SQL 服务器
Can anyone help me on how to fetch MySQL table/s data in JSON format by querying itself which is similar to MS SQL Server
下面是现有的 T-SQL 代码,只需使用关键字 FOR JSON PATH
[=33 即可生成 JSON 格式的 table 数据=], include_null_value
.
如何在 MySQL 查询本身中实现相同的功能???需要可能的解决方案。
/** MS SQL 服务器中的示例 Table 数据 ***/
CREATE TABLE [dbo].[Employee](
[id] INT,
[name] VARCHAR(25),
[state] VARCHAR(25)
)
INSERT INTO [dbo].[Employee] values
(1,'SwapnaS','Bangalore'),
(2,'Divya','Hyderabad'),
(3,'Akshaya','Delhi'),
(4,'Rajini',NULL)
/** 以 JSON 格式获取 table 数据 ***/
DECLARE @json1 NVARCHAR(Max)
SET @json1 = (
SELECT *
FROM dbo.Employee WITH(nolock)
FOR JSON PATH, include_null_values
)
SELECT ',' AS [key],[value]
FROM OPENJSON(@json1)
/** MS SQL results to **/
key
value
,
{"id":4,"name":"Rajini","state":null}
,
{"id":1,"name":"Swapna","state":"Bangalore"}
,
{"id":2,"name":"Divya","state":"Hyderabad"}
,
{"id":3,"name":"Akshaya","state":"Delhi"}
提前致谢!!!
您可以使用JSON_OBJECT()
函数,例如
SELECT JSON_OBJECT(
'id',id ,
'name',name,
'state',state
) AS value
FROM Employee
下面是现有的 T-SQL 代码,只需使用关键字 FOR JSON PATH
[=33 即可生成 JSON 格式的 table 数据=], include_null_value
.
如何在 MySQL 查询本身中实现相同的功能???需要可能的解决方案。
/** MS SQL 服务器中的示例 Table 数据 ***/
CREATE TABLE [dbo].[Employee](
[id] INT,
[name] VARCHAR(25),
[state] VARCHAR(25)
)
INSERT INTO [dbo].[Employee] values
(1,'SwapnaS','Bangalore'),
(2,'Divya','Hyderabad'),
(3,'Akshaya','Delhi'),
(4,'Rajini',NULL)
/** 以 JSON 格式获取 table 数据 ***/
DECLARE @json1 NVARCHAR(Max)
SET @json1 = (
SELECT *
FROM dbo.Employee WITH(nolock)
FOR JSON PATH, include_null_values
)
SELECT ',' AS [key],[value]
FROM OPENJSON(@json1)
/** MS SQL results to **/
key | value |
---|---|
, | {"id":4,"name":"Rajini","state":null} |
, | {"id":1,"name":"Swapna","state":"Bangalore"} |
, | {"id":2,"name":"Divya","state":"Hyderabad"} |
, | {"id":3,"name":"Akshaya","state":"Delhi"} |
提前致谢!!!
您可以使用JSON_OBJECT()
函数,例如
SELECT JSON_OBJECT(
'id',id ,
'name',name,
'state',state
) AS value
FROM Employee