Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Datetime in SQL ohne Millisekunde mit einem Parameter einfügen

Während Sie konnten subtrahieren Sie die Anzahl der Millisekunden, wie in den Kommentaren vorgeschlagen, damit Sie immer noch Submillisekundenwerte erhalten. Das kann kein Problem, aber es ist möglich, dass der Treiber den Submillisekundenwert auf eine ganze Millisekunde aufrundet. Es ist sauberer (IMO), überhaupt keinen Sekundenwert zu haben, damit der von Ihnen eingefügte Wert mit dem Wert übereinstimmt, der gespeichert wird. Ich würde lieber verwenden:

var truncated = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day,
                             dtNow.Hour, dtNow.Minute, dtNow.Second);
// Use truncated as the parameter in your command

Auf diese Weise wird es eindeutig nur haben Werte für Jahr/Monat/Tag/Stunde/Minute/Sekunde.

Wenn Sie dies regelmäßig tun, möchten Sie vielleicht eine Erweiterungsmethode schreiben, damit Sie Folgendes verwenden können:

var truncated = dtNow.TruncateToSecond();