不能使用concat'\'

时间:2013-08-22 00:13:36

标签: mysql concat

我想在我的表中保存一个中文文本数据,这是我的代码;

concat('{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}}\viewkind4\uc1\pard\fs18','1','\par }')

它应该是一个rtf,但是当我跑步时,这就是发生的事情,

{
tf1ansiansicpg1252deff0deflang1033{fonttbl{f0fnilfcharset0 Arial;}}viewkind4uc1pardfs181par }

它应该是这样的:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}}\viewkind4\uc1\pard\fs181\par }
'\'标记消失了,有谁知道怎么做?

2 个答案:

答案 0 :(得分:3)

反斜杠(\)用作转义字符:它是一个声明,应该以特殊方式处理以下字符。例如,\r被读作回车符,它可以解释结果开头的换行符。许多反斜杠显然被忽略了,因为它没有任何特殊意义。

使用双反斜杠(\\),你想要一个文字反斜杠。结果将是输出中的单个反斜杠。它的工作方式是这样的,因为第一个反斜杠是逃避第二个反斜杠,说它应该被特别处理作为文字反斜杠

答案 1 :(得分:2)

与Jonathan所说的类似,我有这个解决方案:

CONCAT('{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\fnil\\fcharset0 Arial;}}\\viewkind4\\uc1\\pard\\fs18','1','\\par }')

将此字符串用作要插入的字符串。

Here's the SQLFiddle