1260: 无法在指定类型之间进行转换
1260: It is not possible to convert between the specified types
我有一个问题-
DELETE FROM invoice
WHERE inv_date < 2018-03-31 - INTERVAL(72) MONTH TO MONTH)
当我执行时,我得到一个错误说明-
1260: 无法在指定类型之间进行转换。
“2018-03-31”有什么问题?我应该怎么写才能执行并得到结果?
很确定我们已经在这里回答了这个问题:
身为无名之马;)建议,一定要先看说明书
如 a_horse_with_no_name in a 所述,您需要使用 DATETIME 文字,而不是一系列整数减法:
DELETE FROM invoice
WHERE inv_date < DATETIME(2018-03-31) YEAR TO DAY - INTERVAL(72) MONTH TO MONTH
或者:
DELETE FROM invoice
WHERE inv_date < DATETIME(2018-03-31) YEAR TO DAY - 72 UNITS MONTH
在标准 SQL 中,您可以这样写:
DELETE FROM invoice
WHERE inv_date < DATE '2018-03-31' - INTERVAL '72' MONTH
我有一个问题-
DELETE FROM invoice
WHERE inv_date < 2018-03-31 - INTERVAL(72) MONTH TO MONTH)
当我执行时,我得到一个错误说明-
1260: 无法在指定类型之间进行转换。
“2018-03-31”有什么问题?我应该怎么写才能执行并得到结果?
很确定我们已经在这里回答了这个问题:
身为无名之马;)建议,一定要先看说明书
如 a_horse_with_no_name in a
DELETE FROM invoice
WHERE inv_date < DATETIME(2018-03-31) YEAR TO DAY - INTERVAL(72) MONTH TO MONTH
或者:
DELETE FROM invoice
WHERE inv_date < DATETIME(2018-03-31) YEAR TO DAY - 72 UNITS MONTH
在标准 SQL 中,您可以这样写:
DELETE FROM invoice
WHERE inv_date < DATE '2018-03-31' - INTERVAL '72' MONTH