oracle连接字符串并转换为日期格式报错为什么?

where 1=1

and to_date('${S_year}'||'-'||'${s}'||'-01','yyyy-mm-dd') ='2021-08-01'

FineReport 帆软用户3yxeX64K8K 发布于 2023-2-2 11:25
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-2-2 12:10

oracel中要格式一样才可以的

where 1=1

to_date('${concatenate(S_year,"-",s,"-01")}','yyyy-mm-dd')=to_date('2021-08-01','yyyy-mm-dd')

-----------或者-------------

where 1=1

'${concatenate(S_year,"-",s,"-01")}'='2021-08-01'

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-2-2 11:35

to_date('${S_year}'||'-'||'${FORMAT(s,"00")}'||'-01','yyyy-mm-dd') ='2021-08-01' 试试

  • 帆软用户3yxeX64K8K 帆软用户3yxeX64K8K(提问者) 不行(哭了)
    2023-02-02 11:38 
  • Z4u3z1 Z4u3z1 回复 帆软用户3yxeX64K8K(提问者) to_date(\'${DATE(S_year,s,1)},\"yyyy-mm-dd\") 斜杠是论坛自己加的 试试
    2023-02-02 11:55 
最佳回答
0
FR新手Lv6初级互助
发布于2023-2-2 11:49

试试这样写:to_date('${concatenate(s_year,month,"-01")}','yyyy-mm-dd')

最佳回答
0
帆软用户epingLv3见习互助
发布于2023-2-2 13:12

to_date()是日期,'2021-08-01'是字符串,当然会报错,要么前后都是时间,要么都是字符串才行。

  • 3关注人数
  • 336浏览人数
  • 最后回答于:2023-2-2 13:12
    请选择关闭问题的原因
    确定 取消
    返回顶部