1
我有一個字段「時間」在我的MySQL服務器,並希望查詢數據庫在我的C程序得到如下這個領域:字符串中的打印C畫幅符獨立
select * from tbl where str_to_date(time, '%M %d %Y %H:%i:%s') > given_date
現在的問題是打印格式說明符在我的查詢字符串中。如何在查詢字符串中打印%d,%i和%s?
我有一個字段「時間」在我的MySQL服務器,並希望查詢數據庫在我的C程序得到如下這個領域:字符串中的打印C畫幅符獨立
select * from tbl where str_to_date(time, '%M %d %Y %H:%i:%s') > given_date
現在的問題是打印格式說明符在我的查詢字符串中。如何在查詢字符串中打印%d,%i和%s?
如果你想在一個格式化字符串使用%
,不使用它作爲一個格式說明,用%%
代替:
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'
可你對什麼是詳細說明問題? – 2014-09-06 13:26:19
@ Piotr S.當我使用sprintf在字符串中打印查詢時,它假定我想打印一個整數,因爲我放置了%d,但是我想在查詢中正好打印「%d」。 – MSH 2014-09-06 13:30:29