Files
cattleTransportation/tradeCattle/check_data_length_analysis.sql
2025-10-24 17:32:42 +08:00

72 lines
2.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 检查iot_device_data表中的数据长度找出导致截断的原因
-- 1. 检查设备24075000139的数据
SELECT
device_id,
device_type,
voltage,
temperature,
latitude,
longitude,
steps,
same_day_steps,
LENGTH(CAST(voltage AS CHAR)) as voltage_length,
LENGTH(CAST(temperature AS CHAR)) as temp_length,
LENGTH(CAST(latitude AS CHAR)) as lat_length,
LENGTH(CAST(longitude AS CHAR)) as lng_length,
LENGTH(CAST(steps AS CHAR)) as steps_length
FROM iot_device_data
WHERE device_id = '24075000139'
AND device_type = 4;
-- 2. 检查所有项圈设备的数据长度分布
SELECT
'voltage' as field_name,
MIN(LENGTH(CAST(voltage AS CHAR))) as min_length,
MAX(LENGTH(CAST(voltage AS CHAR))) as max_length,
AVG(LENGTH(CAST(voltage AS CHAR))) as avg_length
FROM iot_device_data
WHERE device_type = 4 AND voltage IS NOT NULL
UNION ALL
SELECT
'temperature' as field_name,
MIN(LENGTH(CAST(temperature AS CHAR))) as min_length,
MAX(LENGTH(CAST(temperature AS CHAR))) as max_length,
AVG(LENGTH(CAST(temperature AS CHAR))) as avg_length
FROM iot_device_data
WHERE device_type = 4 AND temperature IS NOT NULL
UNION ALL
SELECT
'latitude' as field_name,
MIN(LENGTH(CAST(latitude AS CHAR))) as min_length,
MAX(LENGTH(CAST(latitude AS CHAR))) as max_length,
AVG(LENGTH(CAST(latitude AS CHAR))) as avg_length
FROM iot_device_data
WHERE device_type = 4 AND latitude IS NOT NULL
UNION ALL
SELECT
'longitude' as field_name,
MIN(LENGTH(CAST(longitude AS CHAR))) as min_length,
MAX(LENGTH(CAST(longitude AS CHAR))) as max_length,
AVG(LENGTH(CAST(longitude AS CHAR))) as avg_length
FROM iot_device_data
WHERE device_type = 4 AND longitude IS NOT NULL;
-- 3. 检查xq_client_log表的当前字段长度
SELECT
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
NUMERIC_PRECISION,
NUMERIC_SCALE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'xq_client_log'
AND COLUMN_NAME IN ('latitude', 'longitude', 'device_voltage', 'device_temp', 'server_device_id', 'walk_steps', 'y_walk_steps');