0

I have the following select statement, for which the result is sent to a command line parameter:

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

However, if the result returned has spaces in it, it will cause the command to fail. How can I escape out any spaces in the result? Note that this select statement will only ever return one result.

4

2 に答える 2

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も参照してください 。

于 2013-03-09T08:29:12.320 に答える
0

Markus の解決策が機能しない場合は、「xargs」コマンドを使用してみてください。

xargs YOUR_COMMAND YOUR_QUERY_RESULT_AS_PARAMETER

使用するコマンドによっては、機能する場合と機能しない場合があります。

于 2013-03-09T08:34:42.650 に答える