john647 发表于 2007-12-6 09:02

求助!

字符段:fdate2  日期型 宽度8
要想删除fdate2字段下2000年01月01日至2007年12月31日期间的数据应该用什么命令啊?
老大帮忙!!!

Tiger5392 发表于 2007-12-6 10:09

Delete For Between(Year(fdate2),2000,2007)

baichuan 发表于 2007-12-6 10:13

呵呵,
偶习惯用

dele for fdate2>ctod("2000/01/01").and.fdate2<ctod("2007/12/31")

baichuan 发表于 2007-12-6 10:13

没看清楚!可以用

dele for year(fdate2)>2000.and.year(fdate2)<2008

john647 发表于 2007-12-6 10:42

谢谢各位,我试下

john647 发表于 2007-12-7 17:52

删除到具体日期的命令是什么?比如2001-11-05到2006-03-08
谢谢

啸凡 发表于 2007-12-7 19:09

大老虎不是已经告诉您了吗。把Year去掉,然后用具体日期。
学VFP要善于举一反三,对例子进行分析后为我所用。

john647 发表于 2007-12-8 10:55

呵呵,我是个超级菜鸟.
试了下:dele all for betw(date(fdate2),(2006/12/01),(2007/01/02))
反馈信息:参数太少!
所以想问下到底错那了!
望赐教

小路加油! 发表于 2007-12-8 11:03

呵呵..不会帮顶[em01]

john647 发表于 2007-12-8 11:09

呵呵,顶的人多了,论坛的人气会上升不少啊

hu9jj 发表于 2007-12-8 13:50

下面是帮助文件中关于Between函数的内容。帮助文件是最便捷的老师。

确定一个表达式值是否包含在两个与之同类型的表达式的值之间。
BETWEEN(eTestValue, eLowValue, eHighValue)
参数
eTestValue
指定一个要评估的值。
eLowValue
指定一个下界值。
eHighValue
指定一个上界值。
返回值
逻辑值或者空值。 如果指定的表达式的值等于其中一个边界值或者大于下界值且小于上界值, BETWEEN( ) 返回真 (.T.)。 否则, BETWEEN( ) 返 回假 (.F.)。如果 eLowValue 或者 eHighValue 是空值, BETWEEN( ) 返回空值。

示例
下面的例子扫描orders 表中 order_amt字段值在 950 和 1000 之间的所有记录,并且显示cust_id 字段和 order_amt 字段。

  复制代码
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders  && Open order table

CLEAR
SCAN FOR BETWEEN(order_amt,950,1000)
   ? cust_id, order_amt
ENDSCAN

john647 发表于 2007-12-9 22:19

delete all for between(fdate2,date(2007,1,1),date(2007,6,30))
终于试出来了.
谢谢各位大虾!

Tiger5392 发表于 2007-12-10 11:29

回复时看到日期范围,偷了一个懒,直接用年份表示了范围,若用日期表示范围,就是楼上的那段语句。嘿嘿。

页: [1]

编程论坛