怎样用LOCATE查找SQL数据表中的日期字段?(100分)

  • 主题发起人 主题发起人 happyzhj
  • 开始时间 开始时间
H

happyzhj

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样用LOCATE查找SQL数据表中的日期字段?
用 TABLE.LOCATE('DATEFIELDNAME',STRTODATE(DATESTRING),[]) 不管怎样也查不到!!!
 
注意你的sql server中 'datefieldname'的精度,可能精确到了毫秒,
一般日期型查找仅匹配到日期或小时分钟即可,严格对应是很难的。
或用table控件的模糊查询功能(FindNearest方法)。
 
多试几下,或用query来试一下,或用Query Analyzer,或BDE Administrator试一下。
 
最后一位参数加上模糊匹配。。。
 
在查询时间时,我也是经过多此地实验才能通过,得到结果,不知你用的是那种数据库(表)
注意时间的格式,还有redwasp所说的。
 
你这样子试试看.
TABLE.LOCATE('DATEFIELDNAME',STRTODATE(DATESTRING),[loCaseInsensitive])
另外,因为日期中包含有时间,所以你要严格查找会比较麻烦,还是以天或小时作单位,在SQL
中用LIKE好一些.比如说在ORACLE中.
SQL> select count(*) from eachstockin where up_date=to_date('2001/10/23','yyyy/mm/dd');
COUNT(*)
---------
0
SQL> select count(*) from eachstockin where up_date like to_date('2001/10/23','yyyy/mm/dd');
COUNT(*)
---------
196
我用'='找不出资料,用'LIKE'就找得到.
 
接受答案了.
 
后退
顶部