MariaDB SQL查询中的日期时间问题

MariaDB SQL查询中的日期时间问题,sql,mariadb,Sql,Mariadb,我正在转换我们通过SQLAnywhere运行的一些SQL查询,以使用新的MariaDB环境。给我带来麻烦的一个问题是: UPDATE rfo.client_notes_details SET client_notes_details.equip_status = 59 WHERE ( ( (client_notes_details.equip_status) BETWEEN 4 AND 58 ) AND ( (client_

我正在转换我们通过SQLAnywhere运行的一些SQL查询,以使用新的MariaDB环境。给我带来麻烦的一个问题是:

UPDATE
  rfo.client_notes_details
SET
  client_notes_details.equip_status = 59
WHERE
  (
    (
      (client_notes_details.equip_status) BETWEEN 4
      AND 58
    )
    AND (
      (client_notes_details.date_of_visit) < NOW() - 30
    )
  );
更新
rfo.client\u notes\u详细信息
设置
客户注释详细信息。设备状态=59
哪里
(
(
(客户注意到详细信息。装备状态)介于4
和58
)
及(
(客户记录详细信息。访问日期)
当我在SQL检查器中运行上述查询时,它可以工作。但是,当我使用SQL Workbench对我们的MariaDB数据库进行测试时,我发现了以下问题:

1292不正确的日期时间值:“20191028072188”匹配的行:0 已更改:0警告:1


如何更新此查询以使用友好的日期时间格式?

使用
interval

client_notes_details.date_of_visit < NOW() - INTERVAL 30 DAY
client\u notes\u details.date\u就诊时间

MySQL和MariaDB倾向于根据上下文将日期/时间值转换为字符串或数字。在本例中,它看到一个数字正在被减去,因此它将该值转换为一个数字——结果不是有效的日期。

使用
interval

client_notes_details.date_of_visit < NOW() - INTERVAL 30 DAY
client\u notes\u details.date\u就诊时间
MySQL和MariaDB倾向于根据上下文将日期/时间值转换为字符串或数字。在本例中,它看到一个数字被减去,因此它将该值转换为一个数字——结果不是有效的日期