202502-Wms-NanTongYaChi/fix_vehicle_id.sql

58 lines
1.6 KiB
MySQL
Raw Normal View History

2025-07-18 13:24:53 +08:00
-- 修正 t_app_wcs_task_bak 表中 vehicle_id 字段的异常数据
-- 将 FC 开头的时间格式数据修正为 NULL 或默认值
-- 1. 首先查看异常数据
SELECT
wcs_task_id,
vehicle_id,
create_time,
remark
FROM t_app_wcs_task_bak
WHERE vehicle_id LIKE 'FC%'
OR vehicle_id LIKE '%/%'
OR vehicle_id LIKE '%:%'
ORDER BY create_time DESC;
-- 2. 统计异常数据数量
SELECT
COUNT(*) as total_records,
COUNT(CASE WHEN vehicle_id LIKE 'FC%' THEN 1 END) as fc_records,
COUNT(CASE WHEN vehicle_id LIKE '%/%' THEN 1 END) as date_format_records,
COUNT(CASE WHEN vehicle_id LIKE '%:%' THEN 1 END) as time_format_records
FROM t_app_wcs_task_bak
WHERE vehicle_id LIKE 'FC%'
OR vehicle_id LIKE '%/%'
OR vehicle_id LIKE '%:%';
-- 3. 修正方案1将异常数据设置为 NULL
UPDATE t_app_wcs_task_bak
SET vehicle_id = NULL
WHERE vehicle_id LIKE 'FC%'
OR vehicle_id LIKE '%/%'
OR vehicle_id LIKE '%:%';
-- 4. 修正方案2将异常数据设置为默认载具号如果需要
-- UPDATE t_app_wcs_task_bak
-- SET vehicle_id = 'DEFAULT_VEHICLE'
-- WHERE vehicle_id LIKE 'FC%'
-- OR vehicle_id LIKE '%/%'
-- OR vehicle_id LIKE '%:%';
-- 5. 验证修正结果
SELECT
wcs_task_id,
vehicle_id,
create_time,
remark
FROM t_app_wcs_task_bak
WHERE vehicle_id IS NOT NULL
ORDER BY create_time DESC
LIMIT 20;
-- 6. 检查是否还有异常数据
SELECT
COUNT(*) as remaining_abnormal_records
FROM t_app_wcs_task_bak
WHERE vehicle_id LIKE 'FC%'
OR vehicle_id LIKE '%/%'
OR vehicle_id LIKE '%:%';