【问题标题】:write mysql output to excel replacing the '\N' with blanks将mysql输出写入excel用空格替换'\ N'
【发布时间】:2019-02-28 00:11:20
【问题描述】:

这是我的代码:

SET @FilePath:='C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/';
SET @FullFilePath:=CONCAT(@FilePath,in_AccountID,'.xls');
SET @sql := CONCAT('SELECT * INTO OUTFILE ', 
                  "'", @FullFilePath, "'", '  FROM temp_transactionslines order by TransactionID ASC');
PREPARE dynamic_statement FROM @SQL;
EXECUTE dynamic_statement;
DEALLOCATE PREPARE dynamic_statement;

它将每个新查询的结果写入一个新的 excel 文件,我用 in_AccountID 变量给出新名称。唯一的问题是我想用空白值替换获得以“\ N”表示的空结果的查询字段。我在某处读到插入此代码片段«FIELDS TERMINATED BY',' 由'"'包围 由'"'转义 由 '\r\n' 终止的行» 在我的 SET @sql 指令中可以解决问题,但我正在疯狂尝试执行此操作所需的语法,请有人帮助我吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    MySQL 无法写入 xls 文件,但它可以写入 CSV。

    获取空值而不是NULL

    SELECT IFNULL(field1,''),IFNULL(field2,'')... INTO OUTFILE ...
    

    【讨论】:

    • 如果你的意思是用该代码替换 * 也行不通
    • 更好地说明你的问题,你可能会得到一个“适合你”的答案
    • 我注意到了您的建议并提交了一个更具体的问题stackoverflow.com/questions/54975177/…,我希望。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    相关资源
    最近更新 更多