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

SQL Server(T-SQL)の日付から週番号を抽出する

    T-SQL関数DATEPART()を使用できます SQLServerの日付から週番号を返します。

    「週番号」とは、指定された日付から1年以内の週番号を意味します。

    週番号を返すには、weekを使用します DATEPART()の最初の引数として 機能。

    DECLARE @date date = '2020-07-20';
    SELECT DATEPART(week, @date);

    結果:

    30

    代替引数

    または、wkを使用することもできます またはww 同じことをする最初の議論として。

    DECLARE @date date = '2024-07-20';
    SELECT 
        DATEPART(week, @date) AS week,
        DATEPART(wk, @date) AS wk,
        DATEPART(ww, @date) AS ww;

    結果:

    +--------+------+------+
     | week   | wk   | ww   |
     |--------+------+------|
     | 29     | 29   | 29   |
     +--------+------+------+  

    これらの結果の週番号は、前の例の週番号とは異なりますが、どちらの例でも7月20日を日付として使用しています。これは予想されることです。

    2つの例では、異なる年を使用しています。週の数は年の影響を受ける可能性があります。つまり、7月20日が1年で30週目だからといって、毎年30週目になるわけではありません。注意すべき点があります。

    ISO週番号

    iso_weekを使用して、日付からISO週番号を返すこともできます。 口論。 ISO週は月曜日に始まり、年の最初の週にはその年の1月4日が含まれます。

    したがって、1月上旬の日付は前年の第52週または第53週の一部になり、12月下旬の日付は翌年の第1週の一部になる可能性があります。


    1. 修正方法:プールを使用しているときにjdbc:mysql:// localhost / dbnameエラーに適したドライバーが見つかりませんか?

    2. スタンバイDBを再構築する

    3. 主キーにnull以外を指定する必要がありますか? Oracle / SQL

    4. v4.0.0以降、方言を明示的に指定する必要があります