Ваш запрос отлично работает в SQL Server (см. здесь ).
У вас могут быть тайные настройки интернационализации, которые не обрабатывают '2015-08-25'
как ГГГГ-ММ-ДД.
Есть два варианта.Вы можете удалить дефисы:
SELECT DATEADD(month, -1, '20170825') AS DATEADD
SQL Server всегда обрабатывает строки даты с восемью цифрами как дату в формате ГГГГММДД.
Или выполните явное преобразование:
SELECT DATEADD(month, -1, CONVERT(DATE, '2017-08-25', 120)) AS DATEADD