怎么计算这样的日期???(80分)

  • 主题发起人 主题发起人 jericho3164
  • 开始时间 开始时间
J

jericho3164

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库是Access,表如下:
f1
2006-10-31
2006-11-12
2006-10-16
2006-12-15
……

怎么查询出符合从当前日期起,2月内的记录?我是根据下面的语句建立了一个视图v1
SELECT DATEDIFF('m',FORMAT(now(),'YYYY-MM'),FORMAT([table1.f1],'YYYY-MM')) AS 月内, *
FROM table1;
视图显示结果如下:
name 月内
张三 3
李四 2
…… ……
那么我想选出2月内的记录。那么SQL语句应该是select * from v1 where 月内<='2'
但是查询时告诉我:“标准表达式中数据类型不匹配”,如果不加Where语句就可以正常查询,怎么回事?
 
var
st:string;
dt:Tdatetime;
SQL_st:string;
begin
ShortDateFormat := 'YYYY-MM-DD';
//使datetostr时间格式不受系统时间格式影响
dt:=IncMonth(date(),-2);
st:=datetostr(dt);
SQL_st:='selct * from uTable where f1>=DateValue('''+st+''')';
//DateValue 函数确保不受系统时间格式影响
ADodataSet.close;
ADodataSet.commandtext:=SQL_st;
ADodataSet.open;
end;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
898
import
I
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部