-- 修正 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 '%:%'; 