thinkphp6 mysql查詢語句對于為null和為空字符串給出特定值處理

一、mysql查詢語句對于為null和為空字符串給出特定值處理

  • SELECT if(IFNULL(filedName,"指定字符串")="","指定字符串",filedName) '重命名的字符名' FROM tableName;
  • 在mysql中:
SELECT `s`.`id`,`s`.`sku`,`s`.`barcode`,`s`.`goods_name`,
     `s`.`short_name`,`unit`,u.serial_number unitNumber,
     gb.serial_number brandNumber,`kind`,c.serial_number 
     cateNumber,`type_name`,`prop_name`,`s`.`status`,`s`.`sale_price`,
     IF (ifnull (brand_name,'') = '', '', brand_name) brand_name 
FROM `t_goods_sku` `s` 
LEFT JOIN `t_goods` `g` ON `s`.`goods_id`=`g`.`id` 
LEFT JOIN `t_goods_category` `c` ON `c`.`id`=`g`.`cate_id` 
LEFT JOIN `t_goods_unit` `u` ON `u`.`id`=`g`.`unit_id` 
LEFT JOIN `t_goods_brand` `gb` ON `gb`.`id`=`g`.`brand_id` 
WHERE ( `s`.`id` IN ('52','341','347') ) AND `s`.`delete_time` = 0
  • thinphp6中:
      $info['goodsList'] = $skuObj->alias('s')
        ->field("s.id,s.sku,s.barcode,s.goods_name,s.short_name,unit,
        u.serial_number unitNumber,gb.serial_number brandNumber,
        kind,c.serial_number cateNumber,type_name,prop_name,s.status,s.sale_price")
                ->fieldRaw("IF (ifnull (brand_name,'') = '', '', brand_name) brand_name") // 處理值為null的情況
                ->leftJoin('goods g', "s.goods_id = g.id")
                ->leftJoin("goods_category c", "`c`.`id` = `g`.`cate_id`")
                ->leftJoin("goods_unit u", "`u`.`id` = `g`.`unit_id`")
                ->leftJoin("goods_brand gb", "`gb`.`id` = `g`.`brand_id`")
                ->where('s.id','in',$info['sku_ids'])
                ->select();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容