mysql批量去除字段末尾、字段中的制表符 空格

$field     = [
            'fund_flow_no'
            , 'trade_no'
            , 'out_trade_no'
            , 'subject'
            , 'timestamp'
            , 'buyer_name'
            , 'income_amount'
            , 'expenditure_amount'
            , 'account_balance'
            , 'trade_channel'
            , 'trade_type'
            , 'remark'
        ];
        foreach ($field as $index => $value) {
            $str=Db::execute("update t_ali_finance set $value= REPLACE($value,char(9),'')");
            if (!$str){
                exit($index.'字段'.$value.'更新失败');
            }
        }
看起来像是空格,用mysql 自带的trim去不掉,后来用php取出字段中最后一位看不见的字符,ord( $str )转换为ascii码得到9,查一下对照表才知道是制表符,所以用mysql的char(9)批量替换制表符,上述循环批量处理一个表中的所有字段

你可能感兴趣的:(mysql,PHP)