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

Pobierz tylko datę z grupowania w kolumnie wybierz z DateTime w SQL Server

Możesz grupować według tego:

cast(floor(cast(AutoShipItems.NextOrderDate as float)) as datetime)

Aby to ułatwić, umieściłem to w skalarnej funkcji zdefiniowanej przez użytkownika:

create function [dbo].[xfn_TrimTimeFromDateTime]
(
    @date as datetime
)
returns datetime with schemabinding as
begin
    --- Convert to a float, and get the integer that represents it.
    --- And then convert back to datetime.
    return cast(floor(cast(@date as float)) as datetime)
end

Które następnie nazwałbyś tak:

GROUP BY
    AutoShipItems.CustomerID, 
    dbo.xfn_TrimTimeFromDateTime(AutoShipItems.NextOrderDate), 
    Customer.FirstName, Customer.LastName, Customer.EmailAddress

Pamiętaj, że być może będziesz musiał zmienić wartości w klauzuli SELECT, ponieważ grupujesz teraz według czegoś innego.



  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 2016:Utwórz bazę danych

  2. Zmuś Oracle do zwrócenia TOP N wierszy z SKIP LOCKED

  3. SSIS API:Skąd wiadomo, do jakiego interfejsu rzutować obiekt __COMObject?

  4. Baza danych kopii zapasowych SQL Server Express | Jak zaplanować automatyzację i czyszczenie kopii zapasowej SQL Express

  5. Co to jest datetime2?