sql数据处理

需要通过传递下来的两个时间参数(起始,结束),实现获取上一年同期的相关数据,这个时间参数如何处理

柒年呀 发布于 2021-2-19 15:07
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
shirokoLv6资深互助
发布于2021-2-19 15:32

where 时间>='${YEARDELTA(startdate,-1)}' and 时间<='${YEARDELTA(enddate,-1)}'

  • 柒年呀 柒年呀(提问者) 他的时间是精确到秒的如:2021-02-06 11:32:40 您说的这个应该不适用吧,有没有针对这种日期格式的
    2021-02-19 17:28 
  • shiroko shiroko 回复 柒年呀(提问者) 适用的,如果初始格式对
    2021-02-20 09:00 
最佳回答
0
地球刘亦菲Lv6初级互助
发布于2021-2-19 15:08(编辑于 2021-2-19 15:09)

你把时间参数的年减去1就好了呀

最佳回答
0
苑苑苑苑苑Lv6见习互助
发布于2021-2-19 15:37

我遇到这种的都是重新建立两个日期控件,然后将新的日期控件设成公式并不可见(你需要可见就隐藏原先的日期控件)

比如:“dtdEndDate”是我的原来的参数名,公式给到“dtdEndDate1”然后SQL去找使用“dtdEndDate1”就可以了。

year($dtdStartDate)-1+"-"+month($dtdStartDate)+"-"+day($dtdStartDate)

year($dtdEndDate)-1+"-"+month($dtdEndDate)+"-"+day($dtdEndDate)

最佳回答
0
177741977Lv6初级互助
发布于2021-2-19 15:57(编辑于 2021-2-19 16:07)

image.png

或者sql(oracle) :

SELECT 

to_char(PRODUCTIONDATE,'yyyy-MM-dd') AS 生产日期,

PEELINGRATE AS 去皮率,

PRODUCTIONLINEID AS 产线id,

PRINCIPAL AS 目检负责人,

ATTENDANCE AS 实际出勤人数,

AREA AS 生产区域,

REMARKS AS 备注

FROM 

FR_Sfx_Ycl_ProductionRecords t

where

to_char(PRODUCTIONDATE,'yyyy-MM-dd')>=to_char(ADD_MONTHS(TO_DATE('2022-01-01', 'yyyy-MM-dd'), -12),'yyyy-mm-dd')

and 

to_char(PRODUCTIONDATE,'yyyy-MM-dd')<=to_char(ADD_MONTHS(TO_DATE('2022-01-02', 'yyyy-MM-dd'), -12),'yyyy-mm-dd')

  • 5关注人数
  • 526浏览人数
  • 最后回答于:2021-2-19 16:07
    请选择关闭问题的原因
    确定 取消
    返回顶部