SQLで今日の日付を取得、WHERE句・INSERT文で使う方法を解説!
  • facebookページ
  • twitterページ
  • 2020.10.23

    SQLで今日の日付を取得、WHERE句・INSERT文で使う方法を解説!

    今日の日付を取得する方法

    SQLでデータ操作をする際に、日付を取得するケースもあると思います。

    この記事では、日付取得の中でも「今日の日付」を取得する方法について解説します。

    MySQLで今日の日付を取得

    MySQLで今日の日付を取得するには「CURDATE関数」を使いましょう。

    次のように記述します。

    実際にSQL文を実行してみると、以下の通り今日の日付を取得できました。

    また、CURDATE関数と似たものに、「CURRENT_DATE」と「CURRENT_DATE() 」があります。

    使い方や取得結果は、CURDATE関数と同様です。

    また、MySQLではDATA関数を使って、次のように記述することでも今日の日付を取得できます。

    PostgreSQLで今日の日付を取得

    PostgreSQLで今日の日付を取得するには「CURRENT_DATE」を使いましょう。

    使い方はMySQLと同様に、次のように記述します。

    実際にSQL文を実行してみると、次のようになるはずです。

    上記のように、今日の日付を取得できました!

    Oracleで今日の日付を取得

    Oracleで今日の日付を取得するには「SYSDATE」を使いましょう。

    次のように記述します。

    DUAL表とは、Oracleで用意されているダミーのテーブルのことです。

    執筆者がOracleを利用していないため、実行結果は省略します。

    今日の日付をWHERE句の条件にしてデータを取得

    ここでは、今日の日付を条件に指定する方法について見ていきましょう。

    実際に動作を確認するため、次のようなサンプルテーブルを作成します。

    作成したテーブルにデータを挿入しましょう。

    では、WHERE句を使って今日の日付より前に作成したデータを取得してみます。

    次のように記述しましょう。

    WHERE句のカラムにcreate_dateカラムを、条件部分にCURDATE関数を指定します。

    上記のSQL文を実行すると、次のようにデータを取得可能です。

    ちゃんと指定したデータが取得できていますね。

     

    今日の日付以降のデータを取得するには、次のように指定します。

    このように、データをちゃんと取得できました!

    今日の日付をINSERTで登録する

    先ほどのサンプルテーブルでは、create_dateカラム に任意の日付を指定しました。

    この時、今日の日付をINSERT文で登録することも可能です。

    次のように記述します。

    記述方法はとてもカンタンで、日付の代わりに今日の日付を取得する関数(CURDATE関数)を指定すればOKです。

    上記SQL文を実行し、テーブル内のデータを確認してみると次のようになっています。

    ちゃんと今日の日付でデータの挿入ができています。

    今日の日付を「yyyymm」形式で取得

    今日の日付を取得する際に、取得する形式を変えたい場合もありますよね。

    冒頭で紹介したように、CURDATE関数などで今日の日付を取得すると「yyyy-mm-dd」の形式になります。

    ここでは、「yyyymm」形式で取得する方法について見ていきましょう。

    結論から言うと、次のように記述することで「yyyymm」形式で取得可能です。

    少し分解して仕組みを見てみましょう。

    まず、LEFT関数で「2020-10」までの文字を取得しています。

    次に、REPLACE関数でハイフン(-)を空白に置換することで削除しました。

    上記のように、ちゃんと指定した形式で取得できています。

    次のように記述を少し変えることで、「yyyymmdd」形式で取得も可能です。

    ただし、CURDATE関数は次のように記述することで「数値」として取得でき、「yyyymmdd」形式にできます。

    参考までに覚えておくと良いでしょう!

    なお、ここで紹介したLEFT関数、REPLACE関数については、次の記事で詳しく解説しています。

    【関連記事】

    ▶︎【SQL】RIGHT関数とLEFT関数の詳細と移植の際の注意点について

    ▶︎SQLで文字列の置換をするにはreplace関数使用。 複数置換をするサンプルコード



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE