我有以下select语句,其结果将发送到命令行参数:
"SELECT show.file \
FROM show, schedule \
WHERE channel = 1 AND start_time <= UNIX_TIMESTAMP()"
但是,如果返回的结果中包含空格,则会导致命令失败。如何逃出结果中的任何空格?请注意,此select语句只返回一个结果。
答案 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
取决于您将要使用的命令,它可能会也可能不会。