Lill Lansey
Lill Lansey

Reputation: 4915

Does SqlDbType.DateTime not store seconds?

using System.Data;
using System.Data.SqlClient;

I am using a SqlCommand cmd.Parameters of SqlDbType.DateTime to create a record in the database.

Seconds are not being stored in the database. The field in the db is of type datetime.

Do I need to do something special to save seconds, or does SqlDbType.DateTime not do that?

Upvotes: 4

Views: 2624

Answers (2)

Scott Ivey
Scott Ivey

Reputation: 41558

SqlDbType.DateTime maps to SQL's DATETIME datatype, which is accurate to 3.33 milliseconds. It sounds like you may be putting your values into a SMALLDATETIME field in SQL server, which is only accurate to the minute. SqlDbType.DateTime parameter would be the correct choice for use with both DATETIME and SMALLDATETIME.

Upvotes: 4

Shiraz Bhaiji
Shiraz Bhaiji

Reputation: 65391

SQL Server DateTime stores time with millisecond accuracy (not quite right it rounds to .003 .007 etc)

Smalldatetime, however, stores dates such that the seconds are always :00. You have probably used smalldatetime.

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

Upvotes: 0

Related Questions