此查询有什么问题?
string command_get_pay = "select Credit
from Update_Company_Credit
where (Update_Date LIKE '%" +
System.DateTime.Today.ToShortDateString() + "%')";
答案 0 :(得分:2)
我相信您正在尝试检查Update_date是否是当前日期,无论何时,并且您的问题是即使当前日期有一些Update_date值,您也没有收到任何结果。
这是因为System.DateTime.Today.ToShortDateString()将系统日期转换为与将日期时间隐式转换为LIKE比较生成的字符串所使用的格式不同的格式。
鉴于SQLServer有自己的日期比较功能,我建议您使用它们,如下所示:
string command_get_pay = "select Credit
from Update_Company_Credit
where (datediff(d,Update_Date, getdate())=0)";
答案 1 :(得分:1)
更多细节会有所帮助。您是否希望看到此查询的结果,但是当它运行时您什么都得不到?如果是这样,您可能需要确保以T-SQL引擎可接受的方式格式化过滤器值(即System.DateTime.Today.ToShortDateString())。例如,ToShortDateString()可能返回的字符串值不是SQL查询的兼容格式。
这可能还取决于您使用的是哪个关系数据库。
答案 2 :(得分:1)
我相信SQL LIKE运算符仅适用于文本字段。如果Update_Date是日期字段,那可能是个问题。
答案 3 :(得分:0)
检查SQl数据库中的日期格式以及您通过System.DateTime.Today.ToShortDateString()