首页 > 解决方案 > MySQL:带有选项卡的 CONCAT 字符串的意外结果

问题描述

我想使用\t作为分隔符连接几个字符串列并将输出写入文件。CONCAT单独似乎工作正常。

SELECT CONCAT('A', '\t', 'B', '\t', 'C');
+-----------------------------------+
| CONCAT('A', '\t', 'B', '\t', 'C') |
+-----------------------------------+
| A     B     C                     |
+-----------------------------------+

但是,当我尝试使用

SELECT CONCAT('A', '\t', 'B', '\t', 'C') INTO OUTFILE 'tmp/test.txt';

文件内容看起来像这样,即在选项卡之前有一个额外的反冲:

A\      B\      C

我怎样才能摆脱那个反斜杠?

标签: mysql

解决方案


我发现 FIELDS ESCAPED BY '' 摆脱了那些反斜杠。

我从这个答案中得到了这个:mysql-how-to-escape-backslashes-in-outfile

现在我找到了它,我意识到我也可以使用 P.Salmon 的答案。无需在选择中连接。


推荐阅读