PB 查询日期条件
新手接触编程,使用的是PB6.5写SQL语句做报表,表AA中一个string型的日期aa,我想根据他的年份选择显示不显示,大于9999或者小于2000不显示,其他显示。P...
新手接触编程,使用的是PB6.5写SQL语句做报表,表AA中一个string型的日期aa,我想根据他的年份选择显示不显示,大于9999或者小于2000不显示,其他显示。PB的日期用起来有点糊,不好用。
问题有点傻,看了半天帮助文档没搞明白,求助。 展开
问题有点傻,看了半天帮助文档没搞明白,求助。 展开
展开全部
这个要看你是如何做报表的,而且要看你用的是什么数据库:
最简单的就是用datawindow的retrieve arguments,做一个AA表的dw,设置两个日期类型的参数,ad_rq1和ad_rq2;
dw的where条件段选择aa>=:ad_rq1和aa<:ad_rq2;(注意第二个是小于号,这个数据库中的aa字段的真实存法有关,这样写最稳妥,万一你的字段在数据库中是“日期时间型”的,你直接传入日期类型,数据库会自动认为时间部分是00:00:00)
主程序查询功能中设置两个日期型固定值:ld_min_rq=2000-01-01和ld_max_rq=9999-01-01,代码写法:retrieve(ld_min_rq,ld_max_rq)。
但愿对你有帮助。
最简单的就是用datawindow的retrieve arguments,做一个AA表的dw,设置两个日期类型的参数,ad_rq1和ad_rq2;
dw的where条件段选择aa>=:ad_rq1和aa<:ad_rq2;(注意第二个是小于号,这个数据库中的aa字段的真实存法有关,这样写最稳妥,万一你的字段在数据库中是“日期时间型”的,你直接传入日期类型,数据库会自动认为时间部分是00:00:00)
主程序查询功能中设置两个日期型固定值:ld_min_rq=2000-01-01和ld_max_rq=9999-01-01,代码写法:retrieve(ld_min_rq,ld_max_rq)。
但愿对你有帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要看你是如何做报表的,而且要看你用的是什么数据库:
最简单的就是用datawindow的retrieve arguments,做一个AA表的dw,设置两个日期类型的参数,ad_rq1和ad_rq2;
dw的where条件段选择aa>=:ad_rq1和aa<:ad_rq2;(注意第二个是小于号,这个数据库中的aa字段的真实存法有关,这样写最稳妥,万一你的字段在数据库中是“日期时间型”的,你直接传入日期类型,数据库会自动认为时间部分是00:00:00)
主程序查询功能中设置两个日期型固定值:ld_min_rq=2000-01-01和ld_max_rq=9999-01-01,代码写法:retrieve(ld_min_rq,ld_max_rq)。
但愿对你有帮助。
最简单的就是用datawindow的retrieve arguments,做一个AA表的dw,设置两个日期类型的参数,ad_rq1和ad_rq2;
dw的where条件段选择aa>=:ad_rq1和aa<:ad_rq2;(注意第二个是小于号,这个数据库中的aa字段的真实存法有关,这样写最稳妥,万一你的字段在数据库中是“日期时间型”的,你直接传入日期类型,数据库会自动认为时间部分是00:00:00)
主程序查询功能中设置两个日期型固定值:ld_min_rq=2000-01-01和ld_max_rq=9999-01-01,代码写法:retrieve(ld_min_rq,ld_max_rq)。
但愿对你有帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果日期格式是string型,而且写法是正确的可以通过以下写法
where len(aa) > 4 and left(aa,4) >= '2000' and left(aa,4) < '9999'
where len(aa) > 4 and left(aa,4) >= '2000' and left(aa,4) < '9999'
追问
你给的这个应该是个条件吧,我能看懂。我想要的重点是在SQL语句里面控制这整个日期显示不显示,用if可以么??有空帮忙指点下。
追答
没明白你的意思,在sql里面有case语句
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询