bom空格占三个字符
以订单为例,导入的订单有时候订单编号含有bom空格,打印账单时账单文件名乱码,找不到对应账单,404。,每种类型的订单订单编号是有固定长度的。
select distinct t.`order_type`,length(t.`order_no`) from `table_order ` t order by t.`order_type`;
如果有bom空格的话,就比同类的长度大3;所以可以把具体的查出来确认一下是不是。
如果看到的长度为11,含bom空格,查出来为14,可以把前面的3位截取掉对比
SELECT SUBSTR('order_no',2),order_no,t.* FROM table_order t WHERE t.`order_type` = '1' AND LENGTH(order_no)=14;
update table_order t set t.order_no = SUBSTR('order_no',2) WHERE t.`order_type` = '1' AND LENGTH(order_no)=14;