-
-
nannan 数据老手Lv5
发表于2019-4-8 14:29
悬赏1
已解决
楼主
if(@cs='2',SW_RIBB.TIME like left(@date,6)+'%',if(@cs='3',SW_RIBB.TIME like left(@date,4)+'%',SW_RIBB.TIME=@date)) 参数1、2、3分别表示日、月、年
这个语句里面 SW_RIBB.TIME like left(@date,6)+'%'是什么意思呢?like在这里是什么用法?
这个语句里面 SW_RIBB.TIME like left(@date,6)+'%'是什么意思呢?like在这里是什么用法?

5个回答
SW_RIBB.TIME like left(@date,6),@date是参数,left表示截取@date前6位,like是类似数据库中的用法,模糊查询。
可以查一下咱们BI的函数字典哈http://help.esensoft.com/doc-view-176.html
幺小木 发表于 2019-4-8 14:36
SW_RIBB.TIME like left(@date,6),@date是参数,left表示截取@date前6位,like是类似数据库中的用法,模糊 ...
这里为什么要用模糊查询like,直接等于不行吗,还有就是为什么要加上+'%'呢,日期加%是什么意思?
nannan 发表于 2019-4-8 14:39
这里为什么要用模糊查询like,直接等于不行吗,还有就是为什么要加上+'%'呢,日期加%是什么意思? ...
+'%'就是字符串后面拼接了一个百分号,数据后面不需要百分号的话可以去掉的。直接等于也可以啊。这要根据您目前实际的需求场景来做。
缱绻 发表于 2019-4-8 14:43
+'%'就是字符串后面拼接了一个百分号,数据后面不需要百分号的话可以去掉的。直接等于也可以啊。这要根据 ...
好的,谢谢。我以为like用法跟sql里面的不同