hur.cn - 华软网

 热门搜索

数据窗口如何查询日期范围?

  作者:未知    来源:网络    更新时间:2019/12/1
开发PB10,数据库Oracle 10g。表名为scott.MESSAGESHOW,字段为:MSGDESC VARCHAR(256),CURRENT_TIME DATE。
CURRENT_TIME的形式为'YYYY-MM-DD HH:MI:SS'
现在要求在数据窗口里根据CURRENT_TIME查询出大于'2007-5-22'小于'2007-5-25'的数据,请问如何写剧本,谢谢。

例如:
MSGDESC  CURRENT_TIME
1        2007-5-20 17:00:00
2        2007-5-22 17:00:00
3        2007-5-23 17:00:00
4        2007-5-25 17:00:00
5        2007-5-28 17:00:00
6        2007-5-30 17:00:00
挑选出的数据为
MSGDESC  CURRENT_TIME
2        2007-5-22 17:00:00
3        2007-5-23 17:00:00
4        2007-5-25 17:00:00
------华软网友回答------
在數據窗口裡設兩個檢索參數。然後在腳本中傳入你要查詢的日期段就好了
------华软网友回复------
请给出详细剧本
------华软网友回复------
datetime ldt_from, ldt_to

ldt_from = datetime(date("2007-05-22"),time("00:00:00"))
ldt_to = datetime(date("2007-05-25"),time("00:00:00"))
dw_1.setfilter("CURRENT_TIME >= '" + string(ldt_from) + "'" + " and CURRENT_TIME <= '" + string(ldt_to) + "'")
dw_1.filter()
------华软网友回复------
我刚试了照旧不行,提醒类型不匹配。这里的难点就是CURRENT_TIME类型是'YYYY-MM-DD HH-MI-SS',而查询类型为'YYYY-MM-DD'。
------华软网友回复------
首先数据库中要运用datetime类型。
其次在代码中也是用datetime类型。
否则就类型冲突了。
------华软网友回复------
我把ldt_from, ldt_to改成date类型也是一样(类型不匹配),真不知道改怎么办才好?
------华软网友回复------
string ldt_from, ldt_to

ldt_from = string(datetime(date("2007-05-22"),time("00:00:00")))
ldt_to = string(datetime(date("2007-05-25"),time("00:00:00")))
dw_1.setfilter("CURRENT_TIME >= datetime('" + ldt_from + "')" + " and CURRENT_TIME <= datetime('" + ldt_to+ "')")
dw_1.filter()

------华软网友回复------
不需要转化吧,直接用字符会自动转化
dw_1.setfilter("CURRENT_TIME >= '2007-05-22'" + " and CURRENT_TIME <= '2007-05-25'")
------华软网友回复------
用lllyyymmm兄的代码解决问题,再次谢谢大家的帮助
------华软网友回复------
我已经结账了,怎么照旧没有显示分数      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。