72 lines
2.1 KiB
SQL
72 lines
2.1 KiB
SQL
-- 检查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');
|