需要设置一个控件为:请求出货日期。它要筛选出一个时间段,应该怎么办?

例如:请求出货日期:2020年12月20日01:00 至 2020年12月21日10:00。时间跨度最长为一个月,应该怎么编写sql语句呢?设置日期控件还是文本控件比较好?

SELECT O.ORDERKEY 出货单号,

       O.EXTERNORDERKEY 外部单号,

       OD.STATUS 状态码,

       os.description 状态名称,

       O.TYPE 出货单类型码,

       ot.description 出库单类型名称,

       o.notes 生产订单号,

      TO_CHAR(O.Requestedshipdate + 8 / 24, 'yyyy-mm-dd hh24:mi') as 请求出货日期,

      TO_CHAR(O.Actualshipdate + 8 / 24, 'yyyy-mm-dd hh24:mi') as 实际出货日期,

       OD.SKU 物料编码,

       s.descr 物料名称,

       to_char(lp.Lottable02) 供应商,

       OD.ORIGINALQTY 需求数量,

       OD.OPENQTY 未结数量,

       OD.QTYALLOCATED 分配量,

       OD.QTYPICKED 拣货量,

       OD.SHIPPEDQTY 发运量,

        lp.qty 发运量,

        Od.Ref02  产线,s.susr1 物料组

  FROM ORDERS O

 inner JOIN /*(SELECT OD.ORDERKEY,

                    OD.SKU,

                    OD.Lottable02,

                    SUM(OD.ORIGINALQTY) ORIGINALQTY,

                    SUM(OD.OPENQTY) OPENQTY,

                    SUM(OD.QTYALLOCATED) QTYALLOCATED,

                    SUM(OD.QTYPICKED) QTYPICKED,

                    SUM(OD.SHIPPEDQTY) SHIPPEDQTY

               FROM ORDERDETAIL OD

              where '' is null

                 or OD.Lottable02 = ''

              GROUP BY OD.ORDERKEY, OD.SKU, OD.LOTTABLE02) ODD*/

ORDERDETAIL OD ON O.ORDERKEY = OD.ORDERKEY

     inner JOIN sku s ON od.sku = s.sku

     inner join codelkup ot on listname ='ORDERTYPE'and ot.code =O.TYPE

     inner join orderstatussetup os on os.code = OD.STATUS left join (select  Lottable02 ,orderkey,sum(qty) qty from pickdetail p inner join lotattribute l on p.lot=l.lot where p.status=9 group by orderkey,Lottable02) lp on o.orderkey=lp.orderkey 

where 1=1 ${if(len(wbdh)==0,"","and O.EXTERNORDERKEY =('"+wbdh+"')")} ${if(len(wlbm)==0,"","and OD.SKU =('"+wlbm+"')")} ${if(len(scdd)==0,"","and o.notes =('"+scdd+"')")} ${if(len(ckdlx)==0,"","and ot.description =('"+ckdlx+"')")} ${if(len(qqchrq)==0,"","and TO_CHAR(O.Requestedshipdate + 8/24, 'yyyy-mm-dd hh24:mi') =('"+qqchrq+"')")}

ORDER BY O.Requestedshipdate, s.sku

FineReport neyhig 发布于 2020-12-21 10:17
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
AmyQLv6初级互助
发布于2020-12-21 10:43(编辑于 2020-12-21 10:58)

where 1=1后面加上:and TO_CHAR(O.Requestedshipdate + 8 / 24, 'yyyy-mm-dd hh24:mi')>='${start_date}' and TO_CHAR(O.Requestedshipdate + 8 / 24, 'yyyy-mm-dd hh24:mi')<='${end_date}'


start_date,end_date控件设置为日期

格式设置如下:

image.png


image.png

  • neyhig neyhig(提问者) 那请问要限制查询这个时间段不能超过一个月应该怎么办呢?
    2020-12-21 10:55 
  • AmyQ AmyQ 回复 neyhig(提问者) 可以设置起始和结束日期
    2020-12-21 10:59 
  • 2关注人数
  • 501浏览人数
  • 最后回答于:2020-12-21 10:58
    请选择关闭问题的原因
    确定 取消
    返回顶部