Access中的数据类型不匹配

时间:2014-03-05 05:16:46

标签: sql ms-access ms-access-2010

我一直在撞墙,因为我不断接触到不匹配。我想要查询的查询应该是在1996年7月8日到8月8日期间找到客户ID,并显示客户ID和订单日期列。只有两个相关表是包含CustomerID的Customer表,以及包含CustomerID和OrderDate的Orders表。我收到以下不匹配错误:

SELECT CustomerID FROM Orders WHERE OrderDate BETWEEN #7/8/1996# AND #8/8/1996#;

提前致谢!

2 个答案:

答案 0 :(得分:1)

  • 使用#符号括起日期以指示文字值 日期。
  • 使用单引号表示您正在比较字符串/文本。

因此使用Date数据类型,因此数据类型不匹配。

如果OrderDate是String / Text,那么它应该是:

SELECT CustomerID FROM Orders WHERE OrderDate BETWEEN '7/8/1996' AND '8/8/1996';

或:使用 CDATE() 功能

SELECT CustomerID FROM Orders WHERE CDATE(OrderDate) BETWEEN CDATE('7/8/1996') AND CDATE('8/8/1996');

答案 1 :(得分:1)

这可能是一个原因,但我不确定。

系统中日期时间的格式和存储日期时间格式可能不同。从我的经验中可以看出这也引起了错误。只需尝试更改格式dd / mm / yy格式或仅在查询中设置日期时间的格式。