关于时间参数的过滤问题。急!!

dadapp 2003-05-18 04:46:14
我在过滤的条件里涉及的一个时间段,后我是这么写的:
dw_1.retrieve()
dw_1.setfilter("scrq > 2000-2-2 and scrq < 2004-4-4" )
dw_1.filter()
其中scrq为date型的字段。
运行提示:expression is not valid!
我不知错在哪里。
望指教。
应该怎么写呢?
...全文
56 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dadapp 2003-05-22
  • 打赏
  • 举报
回复
谢谢大家的帮忙,我的问题解决了,我最终是这样做的:
dw_1.setfilter("string(scrq) > "+ string(~"date(2000-22!~"))+ " and string(scrq) < " + string(date(~"2004-4-4~")))
主要是还要把字段名 scrq 做一下转换:string(scrq)
再次谢谢大家。
我这就揭贴。


hanbibo 2003-05-19
  • 打赏
  • 举报
回复
string str_filter
str_filter = "scrq >= date('" + trim('2000-02-02') + "')" + " and " + "scrq <= date('" + trim('2004-04-04') + "')"
dw_1.setfilter(str_filter)
这样应该可以了,我连的是sybase数据库
madking 2003-05-18
  • 打赏
  • 举报
回复
我一般是把datetime字段转换成字符型进行比较的,不同的数据库转换函数是不一样的
比如说access
"cstr(d_jdrq) >= '" + ls_ksrq + "' and cstr(d_jdrq) <= '" + ls_jsrq + "'"
dadapp 2003-05-18
  • 打赏
  • 举报
回复
谢谢了。
我再试试看。
劳驾!
shanmingxing 2003-05-18
  • 打赏
  • 举报
回复
我给你个思路,
不一定非的死板的取用大于小于去比较,你写个函数嘛!用来翻译你的日期。
我遇到了同样问题,我想找一种简便方法,不过上面的确实有道理,可能是你初心
,我也试试,成功了我告诉你。细心试试!
dadapp 2003-05-18
  • 打赏
  • 举报
回复
有谁能再帮帮我啊。
老天。
dadapp 2003-05-18
  • 打赏
  • 举报
回复
真是不好意思。还是不好使啊。
sunsg 2003-05-18
  • 打赏
  • 举报
回复
//日期比较是作为字符处理的
dw_1.setfilter("scrq > '"+ string(date(2000-2-2),"yyyy-mm-yy")+ "' and scrq <'"+string(date(2004-4-4), "yyyy-mm-dd")+"'")

dadapp 2003-05-18
  • 打赏
  • 举报
回复
甜甜粥
dw_1.setfilter("scrq > "+ string(date(2000-2-2),"yyyy-mm-dd")+ " and scrq < " + string(date(2004-4-4), "yyyy-mm-dd"))
还是不行啊。
怎么办?
cooltnt 2003-05-18
  • 打赏
  • 举报
回复
dw_1.setfilter("scrq > "+ string(date(2000-2-2),"yyyy-mm-yy")+ " and scrq <"+string(date(2004-4-4), "yyyy-mm-dd"))
dadapp 2003-05-18
  • 打赏
  • 举报
回复
sailerbait ,是写成to_date(2002-3-4) 还是写成to_date('2002-3-4') 啊?
我试了,怎么都不好使呢
sailerbai 2003-05-18
  • 打赏
  • 举报
回复
你那个2000-2-2是字符型的,应该用to_date转换一下就行了

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧