将MYSQL表导出为CSV时如何处理空字段

use*_*690 14 mysql csv export-to-csv

现在,当我将MYSQL表导出为CSV文件时,我得到的是数据库中预期的NULL字段.如果有一种方法可以在将表导出到csv时将\ N输出更改为空字符串?

谢谢

SELECT 'CU_CustomerID','CU_UserName','CU_Password','CU_Email','CU_Company','CU_Comment','CU_LastBasket','CON_FirstName','CON_MiddleI','CON_LastName','CON_Address1','CON_Address2','CON_City','CON_State','CON_Province','CON_Country','CON_Zip','CON_Phone1','CON_Phone2'
UNION
SELECT T1.CU_CustomerID,T1.CU_UserName,T1.CU_Password,T1.CU_Email,T1.CU_Company,T1.CU_Comment,T1.CU_ShopperPoints,T2.CON_FirstName,T2.CON_MiddleI,T2.CON_LastName,T2.CON_Address1,T2.CON_Address2,T2.CON_City,T2.CON_State,T2.CON_Province,T2.CON_Country,T2.CON_Zip,T2.CON_Phone1,T2.CON_Phone2
FROM CUSTOMERS AS T1
INNER JOIN CONTACT AS T2 ON T1.CU_CustomerID = T2.CON_CustomerID
WHERE T1.CU_CustomerID BETWEEN 0 AND 1000
INTO OUTFILE  'customers.csv'
FIELDS TERMINATED BY  ','
ENCLOSED BY  '"'
Run Code Online (Sandbox Code Playgroud)

Jen*_*ens 11

来自MySQL 文档

如果FIELDS ESCAPED BY字符为空,则不转义任何字符,并将NULL输出为NULL,而不是\ N. 指定空的转义字符可能不是一个好主意,特别是如果数据中的字段值包含刚刚给出的列表中的任何字符.

  • @ user2700690在查询末尾添加`ESCAPED BY"";`. (5认同)
  • @ user2700690在select中执行:`SELECT ifNull'CU_CustomerID',''),ifnull('CU_UserName',''),...` (3认同)