mysql - 如何将两列值 CONCAT 转换为 JSON 格式?
问题描述
我想以格式将CONCAT
两列值转换为一个字符串。但是我对查询中的引号和双引号有疑问。如何修复我的查询,使其成功产生预期的结果?string
JSON
$concat = "CONCAT('{"CODE":"pm_r.CODE","NAME":"pm_r.NAME"}') AS `JSON`"
$query = $this->db->query(
'SELECT pm_r.ID_REQUIREMENT, '.$concat.'FROM `pm_requirement` `pm_r`'
);
预期的结果应该是:
ID_REQUIREMENT JSON
ID001 {"CODE":"001","NAME":"Shane"}
解决方案
为避免引用冲突,一种解决方案是使用php HEREDOC
string。
我还修复了你CONCAT
,要连接的列的名称应该与字符串的固定部分分开。
$query = $this->db->query(<<<EOT
SELECT
pm_r.ID_REQUIREMENT,
CONCAT('{"CODE":"', pm_r.CODE, '","NAME":"', pm_r.NAME, '"}') AS `JSON`
FROM `pm_requirement` `pm_r`
EOT
);
推荐阅读
- kubernetes - Kubernetes pod 到 GCP Compute Engine 虚拟机的通信
- sql - 如何将 ID 分配给引用表以及如何正确显示?(SSMS)
- javascript - 我在 ngIf 输入中的值在我的代码中有一些问题
- python - 如何通过 Django 中的 url 通过模板发送文本?
- snowflake-cloud-data-platform - 使用 Snowflake 将表格以一种形式转换为另一种形式
- google-cloud-storage - AttributeError:“AuthorizedSession”对象没有属性“configure_mtls_channel”
- typescript - TypeScript:如何使泛型类型在函数内部进行推断?
- python - 两个 python 脚本并希望它们一起工作
- python-3.x - 如何使用 camelot 从 PDF 文件中提取表后获取列名?我是新手
- python - python用win路径子处理多个命令