sql >> Databasteknik >  >> RDS >> Sqlserver

Hämta bara Datum från gruppering i välj från kolumnen DateTime i SQL Server

Du kan gruppera efter detta:

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

Jag lägger in detta i en skalär användardefinierad funktion för att göra det enklare:

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

Som du då skulle kalla så här:

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

Observera att du kanske måste ändra värdena i SELECT-satsen, eftersom du nu grupperar efter något annat.



  1. SQL-uppdatering från en tabell till en annan baserat på en ID-matchning

  2. Skicka lista<sträng> till SQL-parameter

  3. "Fråga inte tillåten i Waitfor" Fel 101 i SQL Server

  4. Hur kan du köra samma fråga flera gånger med loop i PL/SQL?