我在Access 2007数据库中有一个表。所有字段都是文本类型。可以使用where子句完成以下操作吗?如果是这样的话?
通常< < =运营商似乎无法运作。
谢谢,
答案 0 :(得分:6)
SELECT * from Table1 WHERE (CDATE(ColumnDate) BETWEEN #03/26/2010# AND #03/19/2010#)
SELECT * from Table1 WHERE (CINT(ColumnAge) between 25 and 40)
日期在 #
中的#MM/DD/YYYY#
符号之间的Access中表示。
您应该将日期存储为日期字段:)
答案 1 :(得分:1)
SELECT * from Table1 WHERE ColumnDate between '2010-03-26' and '2010-03-19'
SELECT * from Table1 WHERE ColumnAge between 25 and 40
我不使用Access,所以YMMV。
答案 2 :(得分:1)
尝试使用ColumnDate
功能将CDate
转换为实际日期/时间。我想,可以使用CInt
转换为int。
我不使用Access,所以这只是一个常识猜测。
答案 3 :(得分:0)
大卫 - 芬顿先生是对的,马塞洛的第一个SELECT * from Table1 WHERE ColumnDate between '2010-03-26' and '2010-03-19'
不起作用,错误的暗示原因。由于日期字符串表示的引号,该子句不正确,日期格式非常好。所以我假设
SELECT * from Table1 WHERE CDATE(ColumnDate) between #2010-03-26# and #2010-03-19#
作为正确的解决方案。