我在c#中使用以下查询将当前日期与存储在数据库中的日期作为字符串进行比较。但即使它没有显示任何错误,它也没有显示正确的输出。
Select * from tblconcertdetail
WHERE STR_TO_DATE(Concert_Date,'%m/%d/%Y')>="+DateTime.Now.ToString("yyyy-MM-dd")+";
第一个参数显示为:2011-06-10 第二个节目; 2011-06-02
它显示了表的所有行
答案 0 :(得分:1)
你确定第一个参数返回正如你所说的YYYY-MM-DD ????确保“Concert_Date”的值看起来像“04/22/2011”。
尝试以下方法:
Select * from tblconcertdetail where date(Concert_Date) >= "+DateTime.Now.ToString("yyyy-MM-dd")+";
我认为Concert_Date的数据类型为“date”或“datetime”或“timestamp”。
答案 1 :(得分:0)
STR_TO_DATE(Concert_Date,'%m/%d/%Y')
的输出取决于Concert_Date
。
与第二个日期相比,它的不同值会产生不同的结果。
我认为你应该尝试使用这部分代码:
STR_TO_DATE('2011-06-10','%Y-%m-%d');
恕我直言,如果Concert_Date
等于2011-06-10
,则无法使用'%m/%d/%Y'
模式正确阅读。