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

SQLServerの日付から短い月の名前を取得する5つの方法

    SQL Server(またはその他のDBMS)を使用する場合、1か月間短い名前を返す必要がある場合があります。これは、月の3文字の略語を意味します。たとえば、「12月」ではなく「12月」が必要です。

    SQLServerの日付から短縮された月の名前を抽出する4つの方法を次に示します。

    FORMAT()関数

    FORMAT() 関数はSQLServer2012から使用可能であり、3文字の省略形として月を返す最も簡潔な方法です。

    仕組みの例を次に示します。

    DECLARE @date datetime2 = '2000-01-01';
    SELECT FORMAT(@date, 'MMM') AS 'FORMAT';

    結果:

    FORMAT
    ------
    Jan   
    

    最初の行は単に変数を宣言し、それに日付を割り当てます。 2行目は、日付から短い月の名前を返す場所です。

    CAST()およびDATENAME()関数

    このオプションは、日付をCHAR(3)としてキャストします 、これにより、最初の3つに続く文字をすべて切り取ります。

    次に例を示します:

    DECLARE @date datetime2 = '2000-01-01';
    SELECT CAST(DATENAME(month, @date) AS CHAR(3)) AS 'CAST/DATENAME';

    結果:

    CAST/DATENAME
    -------------
    Jan          
    

    LEFT()およびDATENAME()関数

    このオプションは、LEFT()を使用することを除いて、前のオプションと似ています。 日付から左端の3文字を取得する関数。

    例:

    DECLARE @date datetime2 = '2000-01-01';
    SELECT LEFT(DATENAME(month, @date), 3) AS 'LEFT/DATENAME';

    結果:

    LEFT/DATENAME
    -------------
    Jan          
    

    LEFT()およびCONVERT()関数

    このオプションは、日付をvarcharに変換してから、最初の3文字を取ります。

    例:

    DECLARE @date datetime2 = '2000-01-01';
    SELECT LEFT(CONVERT(varchar, @date, 100), 3) AS 'LEFT/CONVERT';

    結果:

    LEFT/CONVERT
    ------------
    Jan         
    

    この例では、100 引数は、次の形式になるように日付のスタイルを設定します: mon dd yyyy hh:miAM(またはPM) 。したがって、この場合、日付は2000年1月1日12:00AMのようにスタイル設定されます。 。

    そこから、LEFT()で最初の3文字を切り取るだけです。 機能。

    LEFT()およびMONTHNAME()関数

    このオプションはMONTHNAME()を使用します 月の名前を返すODBCスカラー関数。また、前の2つの例と同様に、その月の名前の最初の3文字を抽出するだけです。

    例:

    DECLARE @date datetime2 = '2000-01-01';
    SELECT LEFT({fn MONTHNAME(@date)}, 3) AS 'LEFT/MONTHNAME';

    結果:

    LEFT/MONTHNAME
    --------------
    Jan               
    


    1. Latin1でエンコードされた列でUTF-8文字を検出する方法-MySQL

    2. 「読み取り専用」データベースを縮小できない| AlwaysOn可用性グループの使用中にトランザクションログを縮小する

    3. MySQLエラー1170(42000):キーの長さがないキー仕様で使用されるBLOB/TEXT列

    4. SQL結合の概要