美文网首页
thinkphp6 mysql查询语句对于为null和为空字符串

thinkphp6 mysql查询语句对于为null和为空字符串

作者: 月圆星繁 | 来源:发表于2021-02-01 09:46 被阅读0次

一、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();

相关文章

网友评论

      本文标题:thinkphp6 mysql查询语句对于为null和为空字符串

      本文链接:https://www.haomeiwen.com/subject/rncjtltx.html