在處理JSON數據時,可以使用concat函數將不同的JSON字段合并成一個新的JSON字段。例如,假設有一個包含以下JSON數據的表:
CREATE TABLE users (
id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
address JSON
);
INSERT INTO users (id, first_name, last_name, address)
VALUES (1, 'John', 'Doe', '{"street": "123 Main St", "city": "New York"}');
如果想要將地址信息合并成一個新的JSON字段,可以使用concat函數來實現:
SELECT id, first_name, last_name,
JSON_MERGE(
JSON_OBJECT('full_name', concat(first_name, ' ', last_name)),
address
) as user_info
FROM users;
在這個例子中,使用concat函數將first_name和last_name合并成一個名為’full_name’的新字段,然后使用JSON_MERGE函數將這個新字段與原來的address字段合并成一個新的JSON字段。最終的查詢結果如下:
| id | first_name | last_name | user_info |
|----|------------|-----------|------------------------------------------------------------------|
| 1 | John | Doe | {"full_name": "John Doe", "street": "123 Main St", "city": "New York"} |