sql >> データベース >  >> RDS >> Sqlserver

SQL Server の DateTime 列から選択して、グループ化から日付だけを取得します。

    これでグループ化できます:

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

    簡単にするために、これをスカラー ユーザー定義関数に入れました。

    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
    

    次に、次のように呼び出します:

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

    現在別のものでグループ化しているため、SELECT 句の値を変更する必要がある場合があることに注意してください。



    1. 最初の行に対して行う場合はphpwhileループ、2番目の行に対して行う場合は?

    2. UNIXタイムスタンプフィールドの月ごとのグループ化

    3. MYSQL日時は最も近い時間に丸められます

    4. SQL Server:UNION 後の INNER JOIN によりハッシュ一致が遅くなる (集計)