2026-10-08-sample-freight-no-fix-format.sql 781 B

123456789101112131415161718192021222324252627282930
  1. -- 若已按旧规则 YF+YYYY-MM-DD+序号 回填,纠正为 YF+YYYYMMDD+001~999
  2. SET @grp := '';
  3. SET @seq := 0;
  4. UPDATE biz_sample_freight f
  5. INNER JOIN (
  6. SELECT
  7. id,
  8. CONCAT(
  9. 'YF',
  10. DATE_FORMAT(create_time, '%Y%m%d'),
  11. LPAD(
  12. @seq := IF(
  13. @grp = CONCAT(tenant_no, '|', DATE_FORMAT(create_time, '%Y%m%d')),
  14. @seq + 1,
  15. 1
  16. ),
  17. 3,
  18. '0'
  19. )
  20. ) AS new_no,
  21. @grp := CONCAT(tenant_no, '|', DATE_FORMAT(create_time, '%Y%m%d')) AS _grp
  22. FROM biz_sample_freight
  23. ORDER BY tenant_no ASC, create_time ASC, id ASC
  24. ) t ON f.id = t.id
  25. SET f.freight_no = t.new_no;
  26. ALTER TABLE biz_sample_freight
  27. MODIFY COLUMN freight_no VARCHAR(32) NOT NULL DEFAULT '' COMMENT '运费批次号 YF+YYYYMMDD+序号';