十年白银一
2022-7-28 15:06:11 发布在问答
取日期之间的天数显示列索引无效
将两个日期参数带入到sql语句相减得到天数,预览的时候显示列索引无效,这个是什么原因,我该怎么去得到天数呢
3032
11
精彩评论11
yhdata_yzm
发表于 2022-7-28 15:20:29 显示全部楼层
sql发出来看看你是怎么写的
回复

使用道具 2#

十年白银一
发表于 2022-7-28 15:31:48 显示全部楼层
yhdata_yzm 发表于 2022-7-28 15:20
sql发出来看看你是怎么写的

(?{E_SDATE}-?{S_SDATE})+1
回复

使用道具 3#

yhdata_yzm
发表于 2022-7-28 16:00:58 显示全部楼层
十年 发表于 2022-7-28 15:31
(?{E_SDATE}-?{S_SDATE})+1

发全一些嘛
回复

使用道具 4#

十年白银一
发表于 2022-7-28 16:02:29 显示全部楼层

SELECT A.BARCODEID       ,
    GDID            ,
    OPNAME         ,
    A.SPEC          ,
    A.UNITNAME      ,
    A.DEPTLEVEL2_ID   ,
    A.DEPTLEVEL2_NAME ,
    A.DEPTLEVEL4_ID   ,
    A.DEPTLEVEL4_NAME ,
    A.SHOPID         ,
    SHOPNAME        ,
    VENDERID      ,
    VENDERNAME   ,
    FACING          ,
    A.LOGISTICS       ,
    PURWEEKDAY01    ,
    PURWEEKDAY02  ,
    PURWEEKDAYALL ,
    GOODSSTATUS    ,
    SPURNUM         ,
    SRATNUM ,(?{E_SDATE}-?{S_SDATE})+1  daycount,
       QTY1,QTY35,IT.STOCKQTY GOODSSTOCKQTY   FROM  DM.DM_TB_NONAUTOPURCHASE_GOODS A
LEFT JOIN
        (
            SELECT /*+ parallel(k, 4) */ SHOPID,GOODSID,SUM(CASE WHEN SDATE2 between TO_TIMESTAMP(?{S_SDATE}) AND TO_TIMESTAMP(?{E_SDATE}) THEN QTY END)QTY1,
   SUM(CASE WHEN SDATE2 between TO_TIMESTAMP(?{E_SDATE}-34) AND TO_TIMESTAMP(?{E_SDATE}) THEN QTY END)QTY35  FROM DM.DM_TB_MANAGE_SALEGOODSDETAIL2 k
GROUP BY SHOPID,GOODSID) B ON A.SHOPID=B.SHOPID AND A.GDID=B.GOODSID INNER JOIN (SELECT /*+ parallel(P, 4) */* FROM  DM.DM_TB_ITEMTABLEINFOR P
        WHERE SDATE=TO_CHAR(?{E_SDATE},'YYYYMMDD')) IT ON A.SHOPID=IT.SHOPID AND A.GDID=IT.GOODSID ;
回复

使用道具 5#

yhdata_yzm
发表于 2022-7-28 16:34:28 显示全部楼层
十年 发表于 2022-7-28 16:02
SELECT A.BARCODEID       ,
    GDID            ,
    OPNAME         ,

等我们测一下哈
回复

使用道具 6#

十年白银一
发表于 2022-7-29 11:24:48 显示全部楼层

测的结果咋样,有好的解决方法么
回复

使用道具 7#

linge白银一
发表于 2022-7-29 12:48:42 显示全部楼层
字段为什么用?{}扩起来,如果是字段,用datediff(day,date1,date2)即可
回复

使用道具 8#

十年白银一
发表于 2022-7-29 13:16:36 显示全部楼层
linge 发表于 2022-7-29 12:48
字段为什么用?{}扩起来,如果是字段,用datediff(day,date1,date2)即可

你这是mysql吧
回复

使用道具 9#

十年白银一
发表于 2022-7-30 09:11:51 显示全部楼层
linge 发表于 2022-7-29 12:48
字段为什么用?{}扩起来,如果是字段,用datediff(day,date1,date2)即可

我打了个datediff还是报错啊,你的不报错?
回复

使用道具 10#

12  
高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
1500W

用户等你来哦

Copyright   ©2012-2025  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部