Есть ли причина не использовать DateTime2? - PullRequest
4 голосов
/ 12 октября 2011

Я пропускаю причину не использовать новый тип данных DateTime2?

Например, может ли это вызвать проблемы при переходе на другую систему баз данных или интеграции с другой технологией?

Ответы [ 3 ]

5 голосов
/ 12 октября 2011

Одна из наиболее важных статей: Тибор Караси

В пользу:

  • Лучшая точность
  • Потенциально меньше места для хранения

Но, вероятно, лучше всего судить по частоте вопросов здесь:

  • Лучшая поддержка форматов даты ANSI (гггг-мм-дд в противном случае небезопасна)
1 голос
/ 03 ноября 2011

Одна причина не делать этого: у меня возникли трудности с использованием datetime2 и последней версии драйвера Microsoft sqljdbc4.jar (версия 3.0) .Конечно, если вы не используете JDBC, это, вероятно, не будет иметь значения.Вы также можете использовать Microsoft sqljdbc4.jar версии 2.0 или попробовать драйвер jTDS JDBC .

1 голос
/ 12 октября 2011

Если вам повезло, что вы пользуетесь только Sql Server 2008 и можете гарантировать, что вы будете надолго, тогда я не вижу причин, по которым вам не следует его использовать, если вам это нужно.

Я думаю, что ответы на этот вопрос объяснят это лучше, чем я.

Однако причины, по которым вы его не используете, будут в значительной степени такими, как вы описали, т. Е. В более ранних версиях Sql Server это не распознается, поэтому перемещение данных между ними потребует некоторого преобразования.

Аналогично, datetime2 имеет более высокую точность, и если вы пишете код, который зависит от этого уровня точности, то вы привязаны к тому, чтобы всегда использовать этот тип данных.

...