odiseh
odiseh

Reputation: 26517

Is there any difference between DateTime in c# and DateTime in SQL server?

Is there any difference between DateTime in c# and DateTime in SQL server?

Upvotes: 17

Views: 13085

Answers (3)

gbn
gbn

Reputation: 432271

Yes.

The C# equivalent of the SQL datetime type is SqlDateTime

So, define the SQL call (stored procs with parameter collection of course) to use SQLDateTime. On advantage is you can trap any overflow or out of range error building the command rather than at execution time from the database engine.

Upvotes: 6

User
User

Reputation: 30945

You can also use datetime2 of SQL Server 2008. The precision there is 100ns as well. In fact, it was introduced to match the .NET DateTime precision.

datetime2 (Transact-SQL)

Upvotes: 12

Marc Gravell
Marc Gravell

Reputation: 1062855

Precision and range (so, everything important ;-p)

From MSDN:

.NET System.DateTime

The DateTime value type represents dates and times with values ranging from 12:00:00 midnight, January 1, 0001 Anno Domini (Common Era) through 11:59:59 P.M., December 31, 9999 A.D. (C.E.)

Time values are measured in 100-nanosecond units called ticks, and a particular date is the number of ticks since 12:00 midnight, January 1, 0001 A.D. (C.E.) in the GregorianCalendar calenda

Transact SQL datetime

Date Range: January 1, 1753, through December 31, 9999

Accuracy: Rounded to increments of .000, .003, or .007 seconds

Upvotes: 24

Related Questions