sql >> Database >  >> RDS >> Sqlserver

Voeg datetime in SQL in zonder milliseconde met behulp van een parameter

Terwijl je kon trek het aantal milliseconden af ​​zoals gesuggereerd in opmerkingen, dan zou je nog steeds submillisecondenwaarden hebben. Dat mag geen probleem veroorzaken, maar het is mogelijk dat de driver de waarde van submilliseconden afrondt op een hele milliseconde. Het is schoner (IMO) om helemaal geen subseconde-waarde te hebben, zodat de waarde die u invoegt dezelfde is als de waarde die wordt opgeslagen. Ik gebruik liever:

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

Op die manier zal het duidelijk alleen hebben jaar/maand/dag/uur/minuut/seconde waarden.

Als je merkt dat je dit regelmatig doet, wil je misschien een uitbreidingsmethode schrijven zodat je het volgende kunt gebruiken:

var truncated = dtNow.TruncateToSecond();



  1. MariaDB LOCALTIMESTAMP() uitgelegd

  2. Sql Server waarbij clausule tussen twee datums geen verwachte output geeft

  3. Hoe python-applicatie te verbinden met online database

  4. Wat drijft de natuurlijke resultaatvolgorde voor een ongeordend MySQL-verzoek?