SQl:用以下的代码来查询数据,语法没错,但执行时就有错误,错误是从字符串向datetime转换时失败,why?

selectOrderDate,ProductName,QuantityfromOrderso1joinOrderDetailso2ono1.OrderID=o2.Ord... select OrderDate,ProductName,Quantity
from Orders o1 join OrderDetails o2 on o1.OrderID=o2.OrderID
join Products p on o2.ProductID=p.ProductID
where OrderDate='2006-12'
展开
 我来答
百度网友183c468
2012-12-12 · TA获得超过209个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:127万
展开全部
OrderDate是日期型,2006-12是字符型,数据类型不匹配。
在ORACLE中应该写成 trunc(to_date('2006-12','yyyy-mm'),'mm') 转换为日期再比较。
不知道你用的什么数据库,不过应该道理差不多。
另外,OrderDate存储的是年月啊?还是年月日。
如果是年月日,那么还应该trunc(OrderDate,'mm)才行
追问
谢谢!
追答
trunc(OrderDate,'mm)应为trunc(OrderDate,'mm')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式