2015-04-23 2 views
0

У меня возникли проблемы с оператором обновления, когда мне нужно изменить поле EmployeeID от 4 до 6 для заказов, которые имеют дату заказа 7-19-1996Update Отчет о возвращающихся 0 затронутых строках

заявления, которое я сделал говорит, что 0 строк затронуты, когда я знаю, что существует несколько строк, которые соответствуют этому описанию. Может кто-то направить меня в правильном направлении, насколько я могу получить этот результат и что я сделал не так? Благодаря вот заявление, которое я до сих пор

UPDATE [dbo].[LMOrders] 
SET [EmployeeID] = 6 
WHERE OrderDate= 7-19-1996 
+0

Нужны котировки вокруг вашей даты, а также должны быть в правильном формате. – user1032531

+1

Вы сначала запустили SELECT? Выполнить 'SELECT EmployeeID, OrderDate FROM [dbo]. [LMOrders] WHERE OrderDate = 7/19/1996' и посмотреть, какие результаты вы получите. Если вы не получите результаты с этим SELECT, вы не получите обновленные строки. –

+0

Является ли 'OrderDate' datetime? – user1032531

ответ

0

Если OrderDate является DateTime, то вам необходимо правильно отформатировать WHERE причину: «2007-05-08 12: 35: 29,123» или если Date затем «2007-05-08»

Вот большой ресурс , внизу документа показаны различные форматы https://msdn.microsoft.com/en-us/library/ms187819.aspx

+1

. Спасибо, я изменил ее сейчас, это работает, спасибо, это правильный синтаксис UPDATE [dbo]. [LMOrders] SET [EmployeeID] = 6 ГДЕ (OrderDate = CONVERT (DATETIME, '1996-07-19 00:00:00', 102)) – minimay

+0

Отлично! Рад помочь – BrianAtkins

0

OrderDate здесь не так в любой базе данных. Если я принимаю OrderDate как строку, вы всегда можете сделать WHERE OrderDate= '7/19/1996'

Если вам нужно перейти на сегодняшний день, так как с помощью [dbo]. Я предполагаю, что вы с mssql, проверьте https://msdn.microsoft.com/fr-CA/library/ms187928.aspx для преобразования.

+0

Почему этот downvote? – JFPicard

+0

@ JFPicard кажется, что люди просто делают это, так как моя тема тоже проголосована так же, как и – minimay

Смежные вопросы