xiao白跳大神 2021-12-31 11:00 采纳率: 80%
浏览 67

前台传一个字符串后台转为sql语句

现有一个需求,将用户前台输入的if else语句转为postgrep语句
if else 已经有同事在转了,但是里面的函数需要我来转,如下:
"if(date2num(%test_date%,week,'zh')>=1){return date2num(%test_date%,month);}else{date2num(str2date(%test_date%,'yyyy-MM-DD'),month);}"
也就是将

date2num(%test_date%,week,'zh')
date2num(%test_date%,month)
date2num(str2date(%test_date%,'yyyy-MM-DD'),month)
分别转成
cast(to_char(cast('inputdate' as date),'ww') as int2)
cast(to_char(cast('inputdate' as date),'mm') as int2)
cast(to_char(cast(to_char(cast('inputstr' as date),'dd.MM.yyyy')),'mm') as int2)
参数也要根据前台传的字符串去替换

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2021-12-31 15:50
    关注

    为啥直接传字符串啊,传对应的参数不好么。
    前台不需要把参数拼成一个字符串,你后台用参数来拼sql也更简单。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月31日