任何人都可以帮助我如何通过查询自身来获取 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

Demo