我有一个领域' time'在我的Mysql服务器中,想要查询数据库以在我的C程序中获取此字段,如下所示:
select * from tbl where str_to_date(time, '%M %d %Y %H:%i:%s') > given_date
现在问题是我的查询字符串中的打印格式说明符。如何在查询字符串中打印%d,%i和%s?
答案 0 :(得分:2)
如果您想在格式化字符串中使用%
,而不将其用作格式说明符,请改用%%
:
char buffer[1024] = {};
char query_string[] = {
"select * from tbl where str_to_date(time, '%%M %%d %%Y %%H:%%i:%%s') > '%s'"
};
char given_date[] = { "03 4 2014 14:55:21" };
sprintf(buffer, query_string, given_date);
printf(buffer);
输出:
select * from tbl where str_to_date(time, '%M %d %Y %H:%i:%s') > '03 4 2014 14:55:21'