代码解释\'\"+area+\"\'\",到底啥意思?

出自这句话where  1=1 ${if(len(niandu)==0,"","and YEAR='"+niandu+"'")}

YEAR='"+niandu+"'"这啥意思,而且标点符号还不对成

FineReport 用户P6K2W9322 发布于 2019-12-5 14:26
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共7回答
最佳回答
0
shirokoLv6资深互助
发布于2019-12-5 15:41

就是字符串的处理。

倒过来就很容易理解了。

你最后需要的是 where 1=1 and year ='2019'

后面and year ='2019'是动态的所以要用帆软公式计算出字符串代替,加上双引号表示字符串返回,也就是 where 1=1 ${" and year ='2019'"}

然后2019其实是拼接的变量," and year ='2019'"要变成" and year ='"+"2019"+"'",再把"2019"替换成niandu,就是

${" and year ='"+niandu+"'"},再加上if条件就完成了。。

说的这么详细应该可以了吧。_(:зゝ∠)_

最佳回答
0
JackloveLv7高级互助
发布于2019-12-5 14:27

year是数据库的字段名   niandu是你的参数名

最佳回答
0
zsh331Lv8专家互助
发布于2019-12-5 14:35

image.png



楼主: 匹配颜色理解,不难!


最佳回答
0
豆豆小可爱Lv5中级互助
发布于2019-12-5 14:36

最后的那个双引号对应的是and前面的双引号,你仔细看下就是对称的

意思是year=niandu这个参数的值

最佳回答
0
13207222709Lv6高级互助
发布于2019-12-5 14:43

其实就是字符串拼接 

每一对""内的是一个字符串

and YEAR = ' 拼接上 niandu 拼接上 '

and YEAR = 'niandu'

最佳回答
0
sayLv6初级互助
发布于2019-12-5 15:25(编辑于 2019-12-5 15:32)

"and YEAR='"+niandu+"'",最外面的双引号就是if语句返回值为字符串所以加上"",里面的'+niandu+',单引号是因为表中year字段是字符串所以参数niandu值外面要套单引号,因为niandu是参数不是具体值也是作为字符串与前后的单引号拼接,所以要用++拼接。

最佳回答
0
IceBall09Lv6中级互助
发布于2019-12-5 16:26

"    and YEAR='   "+niandu+"   '    "

就是给year设了个参数值,标点符号没有不对等,你看上我标了颜色的。最外面的“”包括了这整个句子;最里面的“”是包的+niandu+这个字符。具体可以看下图哦~请采纳~

解释.jpg


  • 8关注人数
  • 431浏览人数
  • 最后回答于:2019-12-5 16:26
    请选择关闭问题的原因
    确定 取消
    返回顶部