将当前日期与c ++中的sql数据库条目匹配

时间:2012-10-09 09:23:23

标签: c++ mysql visual-c++

我的SQL数据库中有日期字段。 我只希望将这些记录写入日期与当前日期/系统日期匹配的文件中。

我找不到** **中的任何SQL查询来匹配这两个日期。

应该取代什么?

SELECT * FROM attendence where Date = ???

4 个答案:

答案 0 :(得分:3)

取决于日期时间格式

如果'2012-10-09 15:04:58'

SELECT * FROM attendence where Date = CURRENT_TIMESTAMP

如果'2012-10-09'

SELECT * FROM attendence where Date = CURRENT_DATE

答案 1 :(得分:2)

它的工作原理如下:

SELECT * FROM attendence where Date = '"+System::DateTime::Now.ToString("yyyy-MM-dd") +"'

添加了最后的格式,因为日期是以该格式添加到数据库中的。

答案 2 :(得分:0)

除非mysql数据库和endusers之间存在时区差异(如在远程查询另一个时区的mysql数据库的c ++应用程序中),否则这应该可以正常工作:

SELECT * FROM attendence WHERE Date = CURDATE()

如果需要考虑时区因素,您必须提供最终用户系统日期作为查询参数,或告诉MySQL最终用户所在的时区并使用

CONVERT_TZ(CURDATE(), from_tz, to_tz);

答案 3 :(得分:0)

试试这个:

SELECT * FROM attendence where Date(Date) = NOW()