0

我有以下代码:

  sprintf(aCommand,"insert into Schedule 
     set StartTime = TIME(STR_TO_DATE(%s,"%h:%i %p")), 
     EndTime = TIME(STR_TO_DATE(%s,"%h:%i %p")),
     DayofWeek = '%s', 
     Activity = '%s %s %s'",arr[2],arr[3],arr[1],arr[0],arr[4],arr[5]);  

我有Schedule带有列的表: StartTimeEndTime和。我有一个时间字符串,格式如下:. 我上面的查询给了我错误。如何将该格式存储到MySQL中的数据类型?DayofWeekActivity10:00 AMtime10:00:00

编辑:这是新代码。

 sprintf(aCommand,"insert into Schedule
 set StartTime = TIME(STR_TO_DATE(%s,'%h:%i %p')), 
EndTime = TIME(STR_TO_DATE(%s,'%h:%i %p')), 
DayofWeek = '%s',Activity = '%s %s %s'",arr[2],arr[3],arr[1],arr[0],arr[4],arr[5]);

这给了我错误:

mp1a.c: In function ‘main’:
mp1a.c:45:4: warning: unknown conversion type character ‘:’ in format [-Wformat]
mp1a.c:45:4: warning: format ‘%i’ expects argument of type ‘int’, but argument 4 has type ‘char *’ [-Wformat]
mp1a.c:45:4: warning: unknown conversion type character ‘:’ in format [-Wformat]
mp1a.c:45:4: warning: format ‘%i’ expects argument of type ‘int’, but argument 7 has type ‘char *’ [-Wformat]
mp1a.c:45:4: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat]
mp1a.c:45:4: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat]
mp1a.c:45:4: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat]
mp1a.c:45:4: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat]
4

3 回答 3

1

只是为了更好地格式化它,如果这不是答案,请原谅我

sprintf(aCommand,"insert into Schedule 
     set StartTime = TIME(STR_TO_DATE('%s','%h:%i %p')), 
     EndTime = TIME(STR_TO_DATE('%s','%h:%i %p')),
     DayofWeek = '%s', 
     Activity = '%s %s %s'",arr[2],arr[3],arr[1],arr[0],arr[4],arr[5]);  

格式正确,添加您收到的确切错误消息将有助于进一步修复

于 2013-08-22T04:52:27.300 回答
0

尝试这个

select DATE_FORMAT(NOW(),'%h:%i %p')

在这里演示

于 2013-08-22T05:09:58.937 回答
0

试试这个例子

DATE_FORMAT(%s,'%l:%i%p') instead of STR_TO_DATE

供参考检查这个http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format

于 2013-08-22T04:16:15.637 回答