如何在数据集中写死取当月的数据?

select * from workflow_requestbase 

where to_char(LASTOPERATEDATE, 'yyyymm')=to_char(sysdate, 'yyyymm') 

运行失败

FineReport rbk333 发布于 2023-2-22 15:26
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-2-22 15:29(编辑于 2023-2-22 15:41)

select * from workflow_requestbase 

where to_char(to_date(LASTOPERATEDATE,'YYYY-MM-DD'), 'yyyymm')=

'${format(today(),"yyyyMM")}'

=================

或者你原来语句改下,也是可以的

select * from workflow_requestbase 

where to_char(to_date(LASTOPERATEDATE,'YYYY-MM-DD'), 'yyyymm')=to_char(sysdate, 'yyyymm') 

  • rbk333 rbk333(提问者) 谢谢
    2023-02-22 15:34 
  • snrtuemc snrtuemc 回复 rbk333(提问者) 这个其实你要优化下,看修改答案
    2023-02-22 15:40 
最佳回答
0
用户WtENK8135769Lv6见习互助
发布于2023-2-22 15:33(编辑于 2023-2-22 15:34)

where to_char(LASTOPERATEDATE,'yyyy-MM')=to_char(sysdate,'yyyy-MM')

或者substr(LASTOPERATEDATE,1,7)=to_char(sysdate,'yyyy-MM')

要看LASTOPERATEDATE是字符串还是日期类型

最佳回答
0
YmengLv5中级互助
发布于2023-2-22 15:35

LASTOPERATEDATE你看下你这个字段的字段类型,是日期类型才能用to_char转换成yyyymm,字符串类型用substr(LASTOPERATEDATE,1,6)

最佳回答
0
shirokoLv6资深互助
发布于2023-2-22 15:35

to_char sysdate这个是oracle的语法,要么你不是oracle数据库?

  • 4关注人数
  • 416浏览人数
  • 最后回答于:2023-2-22 15:41
    请选择关闭问题的原因
    确定 取消
    返回顶部