日期时间比较问题(20分)

  • 主题发起人 主题发起人 zhengxionglai
  • 开始时间 开始时间
Z

zhengxionglai

Unregistered / Unconfirmed
GUEST, unregistred user!
...
datamodule1.tsADOQuery.SQL.Add('select * from daiban');
datamodule1.tsADOQuery.SQL.Add('where 是否提示=True');
datamodule1.tsADOQuery.SQL.Add('and 提示日期时间<=#'+DateTimeToStr(Now)+'#');
datamodule1.tsADOQuery.SQL.Add('order by 日期');
...

为什么用DateToStr可以,用DataTimeToStr就出错,有没有可以比较时间的解决方式
 
用timestamp试试
 
因为DateTimeToStr返回的结果有时间部分,DateToStr没有时间部分
 
把提示日期时间字段类型改成datetime,然后直接比较不就完了,干嘛要转来转去的
 
用formatdatetime('yyyy-mm-dd hh:mm:ss',now)代替datetimetostr
 
呢个问题我也遇到过,好像用formatdatetime转换格式后还是不行。最后,我还不得不把它转成字符型再比较。
 
刚试过,是不行
 
用参数传递,这样换数据库影响也不大。
 
都不能比较,怎样传参数?
 
数据库是Access
 
转化为天
或小时
比较INT
 
谢谢各位,我自己解决了:

datamodule1.tsADOQuery.SQL.Add('and 提示日期时间<=#'+FormatDateTime('yyyy-mm-dd hh.mm.ss',now)+'#')

注意formatDateTime的中时间的格式是用.隔开,而不是:
 

Similar threads

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