Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak dodać pole daty i godziny z polem czasu?

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);

Wynik:

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

Teraz naprawdę nie powinieneś przechowywać interwału za time kolumna. time ma reprezentować punkt w czasie , a nie czas trwania . Co się dzieje, gdy interwał wynosi>=24 godziny? Powinieneś przechowywać czas rozpoczęcia i zakończenia wydarzenia (te rzeczy są zazwyczaj co najmniej tak istotne jak czas trwania) i zawsze możesz obliczyć czas trwania na podstawie tych punktów.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dowiedz się, jak długo działa usługa serwera sql, z t-sql

  2. Jak hostować witrynę z bazą danych ASPNETDB.MDF z serwera deweloperskiego na serwer produkcyjny?

  3. Jak poniższe dwie instrukcje aktualizacji różnią się w SQL?

  4. Jak NTILE() działa w SQL Server

  5. Uzyskaj określony dzień tygodnia w ciągu tygodnia podany przez DATETIME