migrate_pl_plan_subpack_slip_no_format.sql 571 B

123456789101112131415
  1. -- 将历史分装单号统一为 NO:SXFZYYYYMMDD-###(可选一次性脚本)
  2. -- 示例:SXFZ20260705-001 / SXFZ-2026-07-05-001 -> NO:SXFZ20260705-001
  3. UPDATE pl_plan
  4. SET subpack_slip_no = CONCAT(
  5. 'NO:SXFZ',
  6. REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(subpack_slip_no, '-', 4), '-', -3), '-', ''),
  7. '-',
  8. LPAD(SUBSTRING_INDEX(subpack_slip_no, '-', -1), 3, '0')
  9. )
  10. WHERE subpack_slip_no REGEXP '^(NO:)?SXFZ-[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]+$';
  11. UPDATE pl_plan
  12. SET subpack_slip_no = CONCAT('NO:', subpack_slip_no)
  13. WHERE subpack_slip_no REGEXP '^SXFZ[0-9]{8}-[0-9]+$';