Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Holen Sie sich nur das Datum aus der Gruppierung in Select from DateTime-Spalte in SQL Server

Sie können danach gruppieren:

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

Ich habe dies in eine skalare benutzerdefinierte Funktion eingefügt, um es einfacher zu machen:

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

Den würdest du dann so nennen:

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

Beachten Sie, dass Sie möglicherweise die Werte in der SELECT-Klausel ändern müssen, da Sie jetzt nach etwas anderem gruppieren.