sprintf(query, "SELECT username, msg, ts, lat, lon FROM tweet WHERE msg LIKE '%'%s'%' ORDER BY ts DESC", keyword);

我做这件事的方式,就是给我错误。如何使用printf将'%keyword%'格式化为SQL?

最佳答案

如果我对SQL查询语句的理解是正确的,那么当keyword的值为NBA时,您希望查询字符串看起来像:

"SELECT username, msg, ts, lat, lon FROM tweet WHERE msg LIKE '%NBA%' ORDER BY ts DESC"

在这种情况下,sprintf语句的格式必须是:
"SELECT username, msg, ts, lat, lon FROM tweet WHERE msg LIKE '%%%s%%' ORDER BY ts DESC"

关于sql - 如何使用WHERE LIKE SQL子句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23729961/

10-14 06:14