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

Musisz obliczyć według zaokrąglonej godziny lub daty na serwerze sql

Możesz użyć tej samej techniki, aby zaokrąglić dowolny przedział dat. Opiera się to na dzieleniu liczb całkowitych

SELECT
    DATEADD(minute, DATEDIFF(minute, 0, foo), 0),              -- whole minute
    DATEADD(minute, DATEDIFF(minute, 0, foo) / 5 * 5, 0),      -- 5 minute
    DATEADD(minute, DATEDIFF(minute, 0, foo) / 10 * 10, 0),    -- 10 minute
    DATEADD(minute, DATEDIFF(minute, 0, foo) / 15 * 15, 0),    -- 15 minute
    DATEADD(minute, DATEDIFF(minute, 0, foo) / 30 * 30, 0),    -- 30 minute

    DATEADD(hour, DATEDIFF(hour, 0, foo), 0),                  -- whole hour
    DATEADD(hour, DATEDIFF(hour, 0, foo) / 2 * 2, 0),          -- 2 hour

    DATEADD(day, DATEDIFF(day, 0, foo), 0),                    -- whole day
    DATEADD(day, DATEDIFF(day, 0, foo) / 5 * 5, 0),            -- 5 day
    DATEADD(day, DATEDIFF(day, 0, foo) / 10 * 10, 0),          -- 10 day

    DATEADD(month, DATEDIFF(month, 0, foo), 0),                -- whole month
    DATEADD(month, DATEDIFF(month, 0, foo) / 2 * 2, 0)         -- 2 month
FROM
    @dates;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server odpowiednik MySQL EXPLAIN

  2. Obliczanie typu danych zmiennoprzecinkowych programu SQL Server a obliczenia dziesiętne

  3. pobierz część daty tylko z wartości daty i godziny za pomocą struktury encji

  4. Zalogowani użytkownicy po pewnym czasie zostają wylogowani

  5. Tworzenie dynamicznych boksów (divów) z różnymi tytułami zwracanymi przez SP