sql >> データベース >  >> NoSQL >> MongoDB

SQLで日付から日、月、年を取得する方法

    主要なRDBMSのほとんどには、日時の値から日、月、年を抽出できる機能があります。

    一部のRDBMSはこれを行うための複数の方法を提供し、他のRDBMSはより制限されています。以下は、最も人気のあるいくつかのRDBMSの日付値から日、月、年を抽出する例です。

    MySQL

    MySQLには、日付から日、月、年を抽出するために使用できるいくつかの関数があります。これらの1つは、EXTRACT()です。 機能:

    SELECT 
        EXTRACT(DAY FROM '2035-12-19') AS Day,
        EXTRACT(MONTH FROM '2035-12-19') AS Month,
        EXTRACT(YEAR FROM '2035-12-19') AS Year;

    結果:

    +------+-------+------+
    | Day  | Month | Year |
    +------+-------+------+
    |   19 |    12 | 2035 |
    +------+-------+------+

    この場合、各日付部分を独自のフィールドに抽出しました。

    すべての日付部分を同じフィールドに返す場合は、DATE_FORMAT() 関数はあなたのためにこれを行うことができます。

    MySQLには、DAY()など、日付から特定の日付部分を返す一連の関数もあります。 、MONTH()YEAR() 、など。

    その他の例については、MySQLで日、月、年を返すを参照してください。

    Oracle

    OracleにはTO_CHAR()があります 独自のフィールドまたはすべて単一のフィールドで日付部分を抽出するために使用できる関数。個々のフィールドでそれらを返す例を次に示します。

    SELECT 
        TO_CHAR(DATE '2035-09-26', 'Day') AS Day,
        TO_CHAR(DATE '2035-09-26', 'DD') AS DD,
        TO_CHAR(DATE '2035-09-26', 'Month') AS Month,
        TO_CHAR(DATE '2035-09-26', 'YYYY') AS Year
    FROM DUAL;

    結果:

             DAY    DD        MONTH    YEAR 
    ____________ _____ ____________ _______ 
    Wednesday    26    September    2035    

    この関数で日時値をフォーマットするために使用できるフォーマット要素のリストについては、Oracleの日時フォーマット要素の完全なリストを参照してください。

    OracleにはEXTRACT()もあります 同じ名前のMySQLの関数のように機能する関数。

    SQL Server

    SQL Serverには、日、月、年などの日付部分を返すことができる非常に幅広い関数があります。

    DATEPART() 関数は、日付の指定された部分を返すために特別に設計されています:

    DECLARE @date date = '2045-07-03'; 
    SELECT 
        DATEPART(day, @date) AS DAY, 
        DATEPART(weekday, @date) AS WEEKDAY, 
        DATEPART(month, @date) AS MONTH, 
        DATEPART(year, @date) AS YEAR;

    結果:

    +-------+-----------+---------+--------+
    | DAY   | WEEKDAY   | MONTH   | YEAR   |
    |-------+-----------+---------+--------|
    | 3     | 2         | 7       | 2045   |
    +-------+-----------+---------+--------+

    同様の関数はDATENAME()です 、日と月の名前を文字列として返すことができます。

    SQL Serverには、DAY()などの関数もあります。 、MONTH()YEAR() 、特定の日付部分を返すなど。

    そして、FORMAT()を忘れないでください 関数。同じフィールドのすべての日付部分を返したい場合に最適です。

    その他の例については、SQL Serverで日付から日、月、年を取得する6つの関数を参照してください。

    PostgreSQL

    PostgreSQLには、日付から日付部分を返すことができるいくつかの関数があります。

    DATE_PART()の例を次に示します。 機能:

    SELECT 
        DATE_PART('DAY', date '2035-10-30') AS "Day",
        DATE_PART('DOW', date '2035-10-30') AS "DOW",
        DATE_PART('DOY', date '2035-10-30') AS "DOY",
        DATE_PART('MONTH', date '2035-10-30') AS "Month",
        DATE_PART('YEAR', date '2035-10-30') AS "Year";

    結果:

     Day | DOW | DOY | Month | Year 
    -----+-----+-----+-------+------
      30 |   2 | 303 |    10 | 2035

    PostgreSQLにはEXTRACT()もあります 構文が少し異なることを除いて、基本的に同じことを行う関数。

    そしてTO_CHAR() 同じフィールドに複数の日付部分を返したい場合は、この関数を使用できます。

    SQLite

    SQLiteは、日付と時刻の関数に関してはさらに制限されています。ただし、STRFTIME()は引き続き使用できます。 関数日付から日、月、年を抽出するには:

    SELECT STRFTIME('%d %m %Y', '2035-12-01');

    結果:

    01 12 2035

    この例では、同じフィールドのすべての日付部分を返しました。ただし、これは必ずしも必須ではありません。それらを別のフィールドに返したい場合は、STRFTIME()を呼び出すことができます。 複数回、それぞれ異なるフォーマット要素を使用:

    SELECT 
        strftime('%d', '2035-12-01') AS "Day",
        strftime('%m', '2035-12-01') AS "Month",
        strftime('%Y', '2035-12-01') AS "Year";

    結果:

    Day  Month  Year
    ---  -----  ----
    01   12     2035

    MariaDB

    MariaDBには、日時の値から日、月、年を返すことができるさまざまな関数が用意されています。

    DATE_FORMAT()の例を次に示します。 機能:

    SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');

    結果:

    +-------------------------------------------+
    | DATE_FORMAT('2023-07-25', '%W, %D %M %Y') |
    +-------------------------------------------+
    | Tuesday, 25th July 2023                   |
    +-------------------------------------------+

    この関数を使用すると、すべての日付部分を1つのフィールドに返すことができます(これは必須ではありません。DATE_FORMAT()を呼び出すことで、各日付部分を別のフィールドに簡単に返すことができます。 複数回、毎回異なるフォーマット文字列を使用します。

    また、他のいくつかと同様に、MariaDBにもEXTRACT()があります。 指定された日付部分を抽出する関数。

    また、DAY()など、日付部分ごとにさまざまな特定の関数もあります。 、MONTH()YEAR() 、など

    完全な概要については、MariaDBの日付から日、月、年を取得する11の関数を参照してください。


    1. アクションケーブル5にはRedisが必要ですか?

    2. mongodbでエクスプレスとパスポートを使用したnodejsのシンプルなログインページ

    3. MongoDB $ currentDate

    4. Apache Hadoopアーキテクチャ– HDFS、YARN、MapReduce