${IF(len(参数名称)=0,"","and 年份列 = "+INDEXOFARRAY(SPLIT(参数名称,"-"),1)+" and trim(月列) = "+INDEXOFARRAY(SPLIT(参数名称,"-"),2)+"")}
如果参数长度为0(没选择参数),SQL语句后面没有任何条件了
否则SQL语句就是
and 年份字段 = 参数名称用‘-’切割后形成的数组中的第一个
and 月份字段去前后空格 = 参数名称用‘-’切割后形成的数组中的第二个
${} 看成一个整体,里面就是一个if公式。
if len参数名称 为0 返回"" 即sql不加判断,len不为0 就执行后面的判断。
len(参数名称)=0;如果 参数 为空,就没有条件
不然,条件值就是后面语句的拼接
INDEXOFARRAY(SPLIT(参数名称,"-"),1) 意思是取 参数的年份,就是参数根据“-”分割后取第一个元素
INDEXOFARRAY(SPLIT(参数名称,"-"),2) 意思是取 参数的月份,就是参数根据“-”分割后取第二个元素