c# - 比较数据库中的日期时间时,“LIKE%”在更新查询中不起作用

标签 c# mysql datetime phpmyadmin

我正在做的是将当前日期与 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();

执行此代码后,出现以下异常:

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-%'

参见this answer

关于c# - 比较数据库中的日期时间时,“LIKE%”在更新查询中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40154392/

相关文章:

mysql - 使用当前日期创建数据库

c# - 链增量运算符

c# - 如何对该异步代码进行单元测试?

c# - 从委托(delegate)访问范围变量

php generate date/time in the same format 出现在 mysql datetime

c# - 在 C# 中获取印度标准时间 (IST)?

c# - 简单注入(inject)器使用 OWIN 在 WebAPI 中获取当前主体

mysql - 正则表达式在 sql 中创建新列的用法

显示订单的 PHP 购物车

python - 在 Python 中使用 ephem 从日期时间索引计算日出和日落时间