Sql 返回0行的Update语句受影响

Sql 返回0行的Update语句受影响,sql,Sql,对于订单日期为1996年7月19日的订单,我需要将employeeid字段从4更改为6,我对更新语句有疑问 我所说的是,当我知道有几行符合此描述时,0行受影响。有人能把我引向正确的方向吗?为什么我会得到这个结果,我做错了什么?谢谢 这是我到目前为止的声明 UPDATE [dbo].[LMOrders] SET [EmployeeID] = 6 WHERE OrderDate= 7-19-1996 这里的OrderDate在任何数据库中都是错误的。如果我假设一个OrderDate作为一个字符串,

对于订单日期为1996年7月19日的订单,我需要将employeeid字段从4更改为6,我对更新语句有疑问

我所说的是,当我知道有几行符合此描述时,0行受影响。有人能把我引向正确的方向吗?为什么我会得到这个结果,我做错了什么?谢谢 这是我到目前为止的声明

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

这里的
OrderDate
在任何数据库中都是错误的。如果我假设一个
OrderDate
作为一个字符串,您总是可以执行
WHERE OrderDate='7/19/1996'


如果需要转换到日期,请使用[dbo]进行自转换。我假设您使用的是mssql,请检查转换情况。

如果
OrderDate
DateTime
,那么您需要正确设置
的格式,原因是:'2007-05-08 12:35:29.123'或者如果
Date
是'2007-05-08'

这是一个很好的资源,在文档的底部显示了不同的格式

需要在日期周围加上引号,并且格式必须正确。您是否先运行了SELECT?执行
从[dbo].[LMOrders]中选择EmployeeID,OrderDate,其中OrderDate=7/19/1996
并查看您得到的结果。如果您没有通过该选择获得结果,您将无法更新行。是
OrderDate
datetime吗?请以正确的格式提供日期。如果你说更多关于数据库和表模式的细节,我可以指导你。要查看/调试将更新的内容,为UPDATE语句创建一个等效的SELECT语句。谢谢。好的,我现在更改了它。它可以工作了,谢谢这是正确的语法UPDATE[dbo]。[LMOrders]SET[EmployeeID]=6,其中(OrderDate=CONVERT(DATETIME,'1996-07-19 00:00:00',102)太好了!很高兴能帮助@JFPicard。似乎人们都这么做了,因为我的整个主题也被否决了