找文章 / 找答案

取日期之间的天数显示列索引无效

十年白银一 显示全部楼层 发表于 2022-7-28 15:06:11 |阅读模式 打印 上一主题 下一主题
1
未解决

取日期之间的天数显示列索引无效

  • 十年白银一
  • 2022-07-28 15:06:11
  • 发布在 论坛
2266 11
将两个日期参数带入到sql语句相减得到天数,预览的时候显示列索引无效,这个是什么原因,我该怎么去得到天数呢
回复

使用道具 举报

精彩评论11

yhdata_yzm 显示全部楼层 发表于 2022-7-28 15:20:29
sql发出来看看你是怎么写的
回复

使用道具 举报

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

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

使用道具 举报

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

发全一些嘛
回复

使用道具 举报

十年白银一 显示全部楼层 发表于 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 ;
回复

使用道具 举报

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

等我们测一下哈
回复

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

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

你这是mysql吧
回复

使用道具 举报

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

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

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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