在选择结果中转义空格

时间:2013-03-09 08:23:11

标签: mysql select escaping

我有以下select语句,其结果将发送到命令行参数:

"SELECT show.file \
 FROM show, schedule \
 WHERE channel = 1 AND start_time <= UNIX_TIMESTAMP()"

但是,如果返回的结果中包含空格,则会导致命令失败。如何逃出结果中的任何空格?请注意,此select语句只返回一个结果。

2 个答案:

答案 0 :(得分:1)

SELECT REPLACE(show.file, " ", "\ ")
FROM show, schedule
WHERE channel = 1 AND start_time <= UNIX_TIMESTAMP()

应该做的伎俩。如果你有另一个转义字符替换\与相应的转义字符。

另见 http://dev.mysql.com/doc/refman/5.1/de/string-functions.html

答案 1 :(得分:0)

如果Markus的解决方案不起作用,请尝试使用'xargs'命令。

xargs YOUR_COMMAND YOUR_QUERY_RESULT_AS_PARAMETER

取决于您将要使用的命令,它可能会也可能不会。