以下是一个将SQL列值转换为JSON的示例代码:
假设有一个名为students
的表,其中包含id
, name
和grade
三列。我们想要将name
和grade
列的值转换为JSON格式。
首先,我们可以使用GROUP_CONCAT
函数将每个学生的name
和grade
值分组为一个JSON对象。
SELECT id, CONCAT('[', GROUP_CONCAT(CONCAT('{"name":"', name, '", "grade":"', grade, '"}')), ']') AS json_data
FROM students
GROUP BY id;
然后,我们可以使用JSON_ARRAYAGG
函数将每个学生的JSON对象聚合为一个JSON数组。
SELECT JSON_ARRAYAGG(json_data) AS json_array
FROM (
SELECT id, CONCAT('[', GROUP_CONCAT(CONCAT('{"name":"', name, '", "grade":"', grade, '"}')), ']') AS json_data
FROM students
GROUP BY id
) AS subquery;
最后,我们可以将结果存储在一个变量中或将其直接返回。
请注意,具体的语法可能会因使用的数据库类型而有所不同。上面的示例是基于MySQL语法。如果您使用的是其他数据库,可能需要稍作修改。