2015-04-23 62 views
0
有我需要的雇员场从4变为6具有的1996年7月19日

更新语句,返回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

如果OrderDateDateTime,那么你需要以正确格式WHERE原因: '2007-05-08 12:35:29.123',或者Date然后 '2007-05-08'

这里是一个很好的资源,在文档的底部显示不同的格式 https://msdn.microsoft.com/en-us/library/ms187819.aspx

+1

Thankyou确定我现在改变它的工作原理这是合适的语法UPDATE [dbo]。[LMOrders] SET [EmployeeID] = 6 WHERE (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

相关问题