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

月の最後の日を見つけるためのSQLクエリ

    これを試してください-

    CREATE FUNCTION [dbo].[udf_GetLastDayOfMonth] 
    (
        @Date DATETIME
    )
    RETURNS DATETIME
    AS
    BEGIN
    
        RETURN DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @Date) + 1, 0))
    
    END
    

    クエリ:

    DECLARE @date DATETIME
    SELECT @date = '2013-05-31 15:04:10.027'
    
    SELECT DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @date) + 1, 0))
    

    出力:

    -----------------------
    2013-05-31 00:00:00.000
    


    1. エラー1698(28000):ユーザー'root'@'localhost'のアクセスが拒否されました

    2. SQLiteでの日付による全順序の実行

    3. OracleのMONTHS_BETWEEN()関数

    4. SQLServerの別のテーブルに基づいて一時テーブルを作成する