58 lines
1.6 KiB
MySQL
58 lines
1.6 KiB
MySQL
|
|
-- 修正 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 '%:%';
|