if(product ='A' and brand_name ='B','C',if(product ='A' and brand_name !='B','D',product)) as product
if(A,B,C)。SQL里if函数,如果条件A成立,就显示B的值,否则就显示C。
这个代码的意思的:
当该行数据product属性为A,且brand_name属性为B的时候,就用C来作为product列的值。
否则,就进入第二个if判断,当该行数据product属性为A,且brand_name属性不为B的时候,就用D来作为product列的值。否则,就用它原来的product的值。
其实就是3种情况,用if嵌套写出来了。当然,还可以继续嵌套下去。
if(product ='A' and brand_name ='B','C',if(product ='A' and brand_name ='E','D',if(product ='A' and brand_name ='F','G',product))) as product
不然如果是因为多一个)或者少一个(引起的SQL语法错误,寻找起来是很难的。
可以直接 以list形式批量拷贝。
List
List
substring加lastIndexOf,就是截取自某个元素出现后的字符串。
String a = "191-12-23";
System.out.println(a.substring(a.lastIndexOf("-")));
System.out.println(a.substring(a.lastIndexOf("-")+1));
结果:
-23
23
所以一般用的是第二种,可以截取"-"之后的字符串。
现在调用的是哪个接口,是在哪个环境,哪一行代码出的问题。不能模糊。
SUM(IF(push_status = 1, 1, 0))
IFNULL(SUM(CASE WHEN r.hangup = 'NORMAL_CLEARING' THEN 1 ELSE 0 END),0)。
当没有满足的数据时候,也会有个0,而不会是Null。