Я использую оператор DATEADD
в SQL Server , и мне нужно перейти на MariaDB
SUM (
CASE
WHEN CONVERT(varchar, Production.MadeDate , 112) BETWEEN DATE_ADD(DAY, -2, '2018-06-05') AND DATE_ADD(DAY, -2, '2018-06-05') THEN
Production.Qty
ELSE
0
END
) AS 'N-2'
И я получил такую ошибку
[42000] [1064] В вашем синтаксисе SQL есть ошибка;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с 'varchar, Production.MadeDate, 112) МЕЖДУ DATE_ADD (ДЕНЬ, -2,' 2018-06-05 ') И' в строке 3
У меня есть ссылки от MariaDB DATE_ADD и MariaDB ADDDATE но он все еще не работает
Моя версия MariaDB 10.1.32-MariaDB
РЕДАКТИРОВАТЬ:
[решено]
Изменение SQL Statment с CONVERT
на CAST
SUM (
CASE
WHEN CONVERT(varchar, Production.MadeDate , 112) BETWEEN DATE_ADD(DAY, -2, '2018-06-05') AND DATE_ADD(DAY, -2, '2018-06-05') THEN
Production.Qty
ELSE
0
END
) AS 'N-2'
TO
SUM (
CASE WHEN CAST(Production.MadeDate AS DATE) BETWEEN DATE_ADD('2018-06-05', INTERVAL -2 DAY) AND DATE_ADD('2018-06-05', INTERVAL -2 DAY) THEN
Production.Qty
ELSE
0
END
) AS 'N-2'
Это работает для меня на
10.1.32-MariaDB