Я рассмотрел много вопросов относительно этой проблемы, но я не нашел решения. Надеюсь, это не дублирующий вопрос.MySql IEEE с плавающей запятой NaN, PositiveInfinity, NegativeInfinity
Проблема
Если я любой из:
INSERT INTO `Numbers`(`Number`) VALUES ('NaN')
INSERT INTO `Numbers`(`Number`) VALUES ('Inf')
INSERT INTO `Numbers`(`Number`) VALUES ('+Inf')
я получаю 0.0 вставленные в таблице. Иногда я получаю:
Error Code: 1265. Data truncated for column 'Number'
Я также пробовал различные корпуса и орфографию, все с тем же эффектом.
Я даже пробовал:
INSERT INTO `Numbers`(`Number`) VALUES ('1111111111111000000000000000000000000000000000000000000000000000')
Как вставить число NaN с плавающей запятой в таблицу MySql?
Если это действительно невозможно, то что такое рассуждение? (Может быть, я использую неправильную версию MySql?)
Использование NULL в качестве NaN
таблицы, где я на самом деле с помощью этого я не хочу, чтобы NULL значения в этих столбцах. Так что мне не нравится идея замены NaN с NULL где-то в ORM слое
Вы, скорее всего, не получите ошибку, потому что сеанс настроен с использованием старого SQL_MODE. И, извините, вы можете хранить только конечные числа. –
Хорошо. У вас есть идея, почему это так? Я предполагаю, что команда MySql не просто забыла об этом. Должно быть, они сделали выбор по какой-то причине? – smerlung
Цитирование [Raymond Chen] (https://blogs.technet.microsoft.com/seanearp/2007/04/12/why-doesnt-this-feature-exist/): * Ответ на вопрос «Почему эта функция не используется? существуют? "обычно" По умолчанию функции не существуют. Кто-то должен их реализовать ». Это не похоже на то, что каждая функция, которую вы можете придумать, выходит из вашего мозга, полностью протестирована и реализована, а затем где-то в PM помещается ошибка, чтобы удалить вашу функцию. Функции начинают отсутствовать, и кто-то должен их заставить. * –