sql >> Database >  >> RDS >> Sqlserver

Hoe de rondetijd weer te geven?

U kunt de huidige datum afronden op 30 minuten zoals:

select dateadd(mi, datediff(mi,0,getdate())/30*30, 0)

Uitleg:dit duurt het aantal minuten sinds de 0-datum:

datediff(mi,0,getdate())

Dan rondt het dat af op een veelvoud van 30 door te delen en te vermenigvuldigen met 30:

datediff(mi,0,getdate())/30*30

Het resultaat wordt weer toegevoegd aan de 0-datum om het laatste blok van 30 minuten te vinden

dateadd(mi, datediff(mi,0,getdate())/30*30, 0)

Dit kan gemakkelijk 60 minuten worden aangepast. :)



  1. Verwijderen met Left Join in Oracle 10g

  2. Inleiding tot tijdelijke tabellen in SQL Server

  3. MySql automatisch verhogende alfanumerieke primaire sleutel?

  4. Hoe kan ik de afstand tussen twee punten op aarde krijgen vanuit PostGIS?