这是cc函数
BEGIN
  declare sReturn int(1) DEFAULT 0;
  select state into sReturn from sss where aperiod like left(date_,7);
  if(sReturn = 1 or sReturn = 3) then
return 1; # 可以修改,删除与新增
else
return 2; # 不能修改,删除,新增
end if;
  # return sReturn;
ENDselect cc(null) 可以正确的得出一个值为2
select cc(“”)也可以得出一个为2的值
 
但是select cc(time) from zz where id=2
该id=2的time栏位为空时查询出来的值为空
该id=2的time栏位为不为空时查询出来的值正确不太明白
 

解决方案 »

  1.   

    zz表有一个日期的栏位,我把日期取出来放入这个函数运行select cc(time) from zz where id=2,如果zz.time有值能得到预期的结果,如果没有值就不会有结果,
    但是select cc(null)||select cc("")又是有结果的,我只是不明白,zz.time=“”或者.zz.time is null 的时候,用select cc(zz.time)和select cc(null) || select cc("")有什么区别,为什么他们得出的结果不一样