sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan tilføjes datetime-felt med et tidsfelt

DECLARE @d DATETIME = '2013-02-18T18:34:40.330',
        @t TIME(7)  = '00:11:00.0000000';

SELECT EndDate = DATEADD(SECOND, DATEDIFF(SECOND, 0, @t), @d);

Resultat:

EndDate
-----------------------
2013-02-18 18:45:40.330

Nu burde du virkelig ikke gemme interval i en time kolonne. time er beregnet til at repræsentere et tidspunkt , ikke en varighed . Hvad sker der, når intervallet er>=24 timer? Du bør gemme start- og sluttidspunktet for en begivenhed (disse ting er typisk mindst lige så relevante som varigheden), og du kan altid beregne varigheden ud fra disse punkter.



  1. Sådan opretter du Composite Unique Constraint i SQL Server 2005

  2. Hvordan bruger man flere WITH-sætninger i en PostgreSQL-forespørgsel?

  3. Sådan viser du en registrering flere gange inklusive dagsintervaller baseret på dens start- og slutdatoer

  4. Postgresql Windows, er der en standardadgangskode?