请问这个语句是什么意思?从哪里能学习语句意思。真的是一点都不懂


SELECT * FROM S产品 where 1=1

${if(len(ID)=0,"","and 类别ID='"+ID+"'")}


FineReport zhao_qz 发布于 2019-7-25 10:34
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
liuxqLv4见习互助
发布于2019-7-25 11:10

SELECT * FROM S产品 where 1=1

1、S产品:是数据库里的表名称

2、where 1=1 这个是在有多个条件出现的,但这写条件可能有的有值,有的没值,这些条件都是用and连接的,避免sql报错,都会在where后面加上1=1恒等于


${if(len(ID)=0,"","and 类别ID='"+ID+"'")}

3、${}可以想像成一个函数,里面最后得到的是什么值就还回什么值

4、if()就是sql里的if判断语句,len()就是计算字符串长度,ID是参数,类别ID是表S产品里的字段名

5、len(ID)=0是布尔类型值,是true还回“”空字符串,实际sql就是SELECT * FROM S产品 where 1=1

6、false还回"and 类别ID='"+ID+"'"字符串,实际就是

SELECT * FROM S产品 where 1=1 and 类别ID='ID'


最佳回答
1
Chris陈瑜Lv1见习互助
发布于2019-7-25 10:44

这里涉及到3个知识点,一个是SQL的使用:

select 关键字 from 表名 where 条件

意思是按照条件从表明中查询数据,其中星号是指所有,1=1的意思是恒等于,S产品是数据表名的意思.

第二个是帆软的${},在里面可以用公式等进行操作,并返回一个字符串.

第三个是if函数的使用,格式如下:

if(条件,满足条件的结果,不满足条件的结果)


这样讲其实比较粗略,可以到本页面上方"更多"中的学习计划,了解SQL的使用和帆软函数的使用.

最佳回答
0
15588200382Lv6见习互助
发布于2019-7-25 10:39(编辑于 2019-7-25 10:41)

前面还有个1=1   
len(ID) 这是判断你控件ID的传递值的长度 , 如果 = 0 , 就输出"" ,也就是1=1 后面就没有数据了 ,   否则的话 在1=1后面加上条件  
and 类别ID = 这个ID控件的值 
例如 控件ID = 1
这个语句就是 
${if(len(1) =0 ,"",and 类别ID = '1'  ")}
然后sql语句里面就是

where  1=1 and 类别ID ='1'
 

最佳回答
0
Kevin-sLv7中级互助
发布于2019-7-25 10:40

SELECT * FROM S产品  意思是,将S产品的数据全部搜索出来

where 1=1 ${if(len(ID)=0,"","and 类别ID='"+ID+"'")} 是对上面搜索出来的数据进行下条件与参数,当传入参数ID的长度为0的时候,执行""就变成where 1=1 加上空,传入参数ID的长度不为0的时候执行:where 1=1 and 类别ID='ID','"+ID+"'这个只是代表一个参数。



  • 5关注人数
  • 587浏览人数
  • 最后回答于:2019-7-25 11:10
    请选择关闭问题的原因
    确定 取消
    返回顶部