我正在做的是将当前日期与 MySql 数据库(PhpMyadmin)中的表“permanent_days”中的“日期”字段(具有特定日期)进行比较。该“日期”字段的数据类型是日期时间。我的源码如下:
double sum = previous_total + 0.5;
query = "UPDATE permanent_days SET total_days='"+sum+"' WHERE emp_id_fk='"+_ID+"' AND date LIKE '"+DateTime.Now.ToString("yyyy-MM")+"%'";
command = new MySqlCommand(query, connection, transaction);
command.ExecuteNonQuery();
执行此代码后,出现以下异常:
block 引用>Error: Incorrect datetime value: '2016-10% for column 'date' at row 1
请注意,使用“Select”sql 命令时此比较工作正常。但是,在“更新”sql 命令(如上所述)中,此比较会引发上述异常。可能的解决方案是什么。
最佳答案
您需要首先将日期时间转换为字符串,然后您可以使用LIKE
。
您可以使用Convert()
and Cast()
。但更好的是:
WHERE DATE_FORMAT(dateColumn, '%Y-%m-%d') LIKE '2016-10-%'
关于c# - 比较数据库中的日期时间时,“LIKE%”在更新查询中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40154392/