Мы разработали проект на Laravel с Mysql, хотим подключить проект к базе данных SQL Server. Проект не может подключиться к SQL Server - мы получаем следующую ошибку:
SQLSTATE[22007]: [Microsoft][ODBC Driver 11 for SQL Server]
[SQL Server]Conversion failed when converting date and/or time from character string. (SQL: select sum([credit]) as aggregate from [loan_transactions] where [transaction_type] = repayment and [reversed] = 0 and [date] between date_sub(now(),INTERVAL 1 WEEK) and now())
(View: D:\Xampp\htdocs\loanmanager\resources\views\dashboard.blade.php)
да, теперь я получаю следующую ошибку SQLSTATE [22007]: [Microsoft] [Драйвер ODBC 11 для SQL Server] [SQL Server] Ошибка преобразования при преобразовании даты и / или времени из символьной строки. (SQL: выберите сумму ([кредит]) как агрегат из [кредит_транзакций], где [тип_транзакции] = погашение и [обратный] = 0 и [дата] между date_sub (сейчас (), ИНТЕРВАЛ 1 НЕДЕЛЯ) и сейчас ()) (Просмотр : D: \ Xampp \ htdocs \ creditmanager \ resources \ views \ dashboard.blade. php)
Отредактируйте свой вопрос и добавьте ошибку и запрос, вызывающий ошибку.
похоже, что вы подключились к базе данных, и он попытался запустить оператор SQL - я предполагаю, что оператор SELECT несовместим с SQL Server, такими вещами, как date_sub или now () (я привык использовать getdate ()) могут не распознаваться командами SQL Server.






Похоже, вы пытаетесь выполнить запрос со специфическим синтаксисом MySQL, несовместимым с MSSql. Вместо использования функции date_sub() MySQL попробуйте использовать эквивалент MSSql:
... and [date] between DATEADD(week, -1, GETDATE()) and GETDATE())
Не ответ, просто не могу комментировать. Когда дело доходит до поддержки MySQL и MSSQL, миграции тоже могут быть беспорядочными, не только с FK и индексами, но и с множеством других вещей. Просто совет: если вы используете оператор if для поддержки обоих, это может быть односторонним env('DB_CONNECTION') === 'sqlsrv'
Таблица [пользователи] существует в вашей схеме?