У меня есть набор данных названий города с их соответствующими широтами/долготами, как которые я загрузился в таблицу MySQL, так:
city_id | city_name | ДЕСЯТИЧНОЕ ЧИСЛО широты (9,6) | ДЕСЯТИЧНОЕ ЧИСЛО долготы (9,6)
Типичные координаты широты/долготы могли бы быть похожими на это: 54.284758 / 32.484736.
Однако я только заставляю значения с масштабом 2 появляться правильно в моей таблице, другими словами, эквиваленте ДЕСЯТИЧНОГО ЧИСЛА (5,2). Данные загружаются из текста CSV, это было экспортировано из OpenOffice Calc в целях UTF-8. Я знаю, что OpenOffice имеет некоторые проблемы с десятичными числами, но полная широта/долготы находится, конечно, в экспортируемом CSV. Если я открываю CSV with Notepad, данные прекрасны.
Кто-либо может видеть то, что я мог бы делать неправильно?
Спасибо.
ОБНОВЛЕНИЕ: Получил его работа, спасибо за весь вход. Я воссоздал все с нуля, новый файл схемы (я использую ORM), новый экспорт CSV, новая таблица, новые ДАННЫЕ ЗАГРУЗКИ INFILE, и это работает с корректным десятичным выводом. Бьет меня.
Это может быть излишним для ваших потребностей, но при работе географических данных вы можете рассмотреть возможность с использованием Spatial DENTSION MYSQL .
Добавим, что DataType, который вы используете в настоящее время, достаточно, чтобы представить данные, как он находится в вашем файле CSV. Есть либо что-то в вашем импортере, что вырубило его в момент импорта, или все, что вы используете для просмотра данных, урезают его.
Я бы предложил использовать строковый тип данных, такой как Varchar для хранения LAT, долго. Я работаю над приложением, которое делает широкое использование этих координат, и я не бежал в любые проблемы, хранящие его как строку. Хранение его в качестве ряда вы столкнетесь с точными проблемами.
просто что-то рассмотреть.
Почему вы просто не объявляете поля, как введите Double в своем таблице MySQL? Квалификаторы для количества цифр и цифр после десятичной точки являются необязательными.