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

77 lines
1.7 KiB
SQL

-- ====================================
-- 深入分析latitude数据截断问题
-- ====================================
-- 1. 检查所有项圈设备的latitude和longitude数据
SELECT
device_id,
latitude,
longitude,
LENGTH(latitude) as lat_length,
LENGTH(longitude) as lng_length,
voltage,
temperature,
steps,
same_day_steps,
update_time
FROM iot_device_data
WHERE device_type = 4
ORDER BY update_time DESC;
-- 2. 检查是否有latitude或longitude包含特殊字符
SELECT
device_id,
latitude,
longitude,
ASCII(latitude) as lat_ascii,
ASCII(longitude) as lng_ascii
FROM iot_device_data
WHERE device_type = 4
AND (latitude LIKE '%[^0-9.-]%' OR longitude LIKE '%[^0-9.-]%');
-- 3. 检查xq_client_log表的字段长度限制
SELECT
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'xq_client_log'
AND COLUMN_NAME IN ('latitude', 'longitude', 'device_voltage', 'device_temp');
-- 4. 尝试手动插入一条简单的数据测试
INSERT INTO xq_client_log (
device_id,
device_voltage,
device_temp,
server_device_id,
latitude,
longitude,
walk_steps,
y_walk_steps,
create_time,
create_by,
update_time,
update_by
) VALUES (
'TEST_DEVICE_001',
'3.6',
'25.5',
'HOST_001',
'30.481277875444164',
'104.123456789012345',
1000,
500,
NOW(),
'MANUAL_TEST',
NOW(),
'MANUAL_TEST'
);
-- 5. 检查插入结果
SELECT * FROM xq_client_log WHERE create_by = 'MANUAL_TEST';
-- 6. 清理测试数据
DELETE FROM xq_client_log WHERE create_by = 'MANUAL_TEST';