Оракул: миграция цв. со значениями, нулями и 0 - PullRequest
0 голосов
/ 06 августа 2009

Я мигрирую данные из одной базы данных в другую.

У меня есть числовой столбец. который содержит некоторые значения, некоторые 0 и некоторые нули. Мое внутреннее чувство состоит в том, чтобы преобразовать все 0 в NULL. Это будет хранить необязательный, предоставленный пользователем номер.

Есть ли причина НЕ конвертировать все 0 в NULL?

Ответы [ 2 ]

1 голос
/ 07 августа 2009

Одна из причин не преобразовывать нули в ноль состоит в том, что они означают разные вещи математически.

  1. Если у меня есть числа (0,10,20), среднее из них равно 10. Если я конвертирую ноль в ноль, среднее становится 15.
  2. Если у меня есть числа 5 и 0, сложенные вместе, они получат 5. Превратите 0 в ноль и сложив вместе, они получат NULL.
  3. Порядок по умолчанию, равный нулю, -5 и 10, равен (-5, 10, NULL), если только вы не используете NULLS FIRST, в этом случае вы получите (NULL, -5, 10). Очевидно, что порядок с нулем равен (-5, 0, 10).

Так что, если это числа, используемые для числовых функций, вам нужно использовать NULL и нули в соответствии с требованиями приложения (которые вы не предоставляете).

Может быть, если вы дадите некоторое представление о том, что представляет собой число, вы можете получить полезный ответ.

1 голос
/ 06 августа 2009

Имеются проблемы с индексированием NULL (в общем, это не так).

Если вы имеете в виду 0, используйте 0. Использование NULL вместо этого изменит ваш порядок сортировки и повлияет на арифметику (и сравнение). NULL используются, чтобы указать, что нет никакого значения. Использование их в качестве замены для 0 (которое равно значению) является хорошим примером микрооптимизации, которая движет вашим дизайном, а не ... дизайном.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...