【发布时间】:2015-08-31 13:10:04
【问题描述】:
我有一个脚本,它生成一个带有 MySQL 查询结果的 CSV 文件。我遇到的最初问题是 Excel 将条目 000123 或 (00) 解释为 123 和 0。我按照this 的回答解决了这个问题。
那么现在,如果我的SELECT 如下:
SELECT employee.id,
employee.access_code,
employee.contact_number,
employee.buzzer_number
FROM ...
我将不得不将其更改为:
SELECT CONCAT('\"=\"\"', employee.id, '\"\"\"') AS id,
CONCAT('\"=\"\"', employee.access_code, '\"\"\"') AS access_code,
CONCAT('\"=\"\"', employee.contact_number, '\"\"\"') AS contact_number,
CONCAT('\"=\"\"', employee.buzzer_number, '\"\"\"') AS buzzer_number
FROM ...
这对于许多领域来说似乎很笨拙。有没有一种方法可以用"=""[value]""" 包装每个字段,而无需在SELECT 子句中明确这样做?
【问题讨论】:
-
导入时可以在Excel端设置每一列的类型
-
@Alex 我知道这一点,但我正在寻找一种在生成 CSV 文件后不需要干预的解决方案。
-
导入-导出或任何迁移过程始终是唯一的,因此通常您无法预测所有内容。一旦您更改客户端或服务器端的操作系统、MS Office 版本或服务器或客户端上的国家/地区设置,总是需要修复一些问题。所以恕我直言 - 在 Excel 端修复它比浪费时间在 sql 端修复更容易和更快。因为通常没有什么可以修复的。问题只是对内容的解释
标签: mysql csv concatenation