我有以下选择语句,其结果被发送到命令行参数:
"SELECT show.file \
FROM show, schedule \
WHERE channel = 1 AND start_time <= UNIX_TIMESTAMP()"
但是,如果返回的结果中有空格,则会导致命令失败。我怎样才能摆脱结果中的任何空格?请注意,此 select 语句只会返回一个结果。
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
如果 Markus 的解决方案不起作用,请尝试使用“xargs”命令。
xargs YOUR_COMMAND YOUR_QUERY_RESULT_AS_PARAMETER
根据您要使用的命令,它可能会或可能不会起作用。