Разве SqlDbType.DateTime не хранит секунды? - PullRequest
3 голосов
/ 30 июня 2009
using System.Data;
using System.Data.SqlClient;

Я использую SqlCommand cmd.Parameters из SqlDbType.DateTime для создания записи в базе данных.

Секунды не сохраняются в базе данных. Поле в БД имеет тип datetime.

Нужно ли делать что-то особенное, чтобы сэкономить секунды, или SqlDbType.DateTime не делает этого?

Ответы [ 2 ]

3 голосов
/ 30 июня 2009

SqlDbType.DateTime соответствует типу данных SQL DATETIME, который имеет точность 3,33 миллисекунды. Похоже, вы можете поместить свои значения в поле SMALLDATETIME на SQL-сервере, что точно с точностью до минуты. Параметр SqlDbType.DateTime будет правильным выбором для использования с DATETIME и SMALLDATETIME.

0 голосов
/ 30 июня 2009

SQL Server DateTime хранит время с точностью до миллисекунды (не совсем верно, округляет до .003 .007 и т. Д.)

Smalldatetime, однако, хранит даты так, чтобы секунды всегда были: 00. Вы, вероятно, использовали smalldatetime.

http://msdn.microsoft.com/en-us/library/ms182418.aspx

...