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

年の毎週月曜日と毎週金曜日の日付を選択する方法

    master..spt_values テーブルのような数値を含む適切なテーブルを、範囲生成の基礎として使用できます。

    ;WITH dates AS (
        SELECT DATEADD(DAY,number,CAST('2014-01-01' AS DATE)) d
        FROM master..spt_values WHERE TYPE = 'p'
        AND number < 366
        )
    
    SELECT 
        Week = DATEPART(WEEK, d), 
        DayOfWeek = DATENAME(dw, d), 
        Date = d
    FROM dates
    WHERE DATENAME(dw, d) IN ('Monday', 'Friday')
    -- or use datepart instead as datename might be specific to language
    -- WHERE DATEPART(dw, d) IN (2,6)
    

    出力例:

    Week        DayOfWeek                      Date
    ----------- ------------------------------ ----------
    1           Friday                         2014-01-03
    2           Monday                         2014-01-06
    2           Friday                         2014-01-10
    3           Monday                         2014-01-13
    3           Friday                         2014-01-17
    4           Monday                         2014-01-20
    4           Friday                         2014-01-24
    5           Monday                         2014-01-27
    5           Friday                         2014-01-31
    


    1. ネットワーク外の SSIS (SQL Server 2012) プロジェクトの配置

    2. SQLExceptionを取得しますjava.sql.SQLException:ResultSet.nextが呼び出されませんでした

    3. Oracle11g のピボット テーブルで ROLLUP、RANK() を使用する方法

    4. addlashes()はSQLインジェクションを回避するのに十分安全ですか?