SQLで時間と日付の操作:クエリとフォーマットの完全ガイド

この記事では、SQLにおいて時間と日付に関するクエリとフォーマットの操作について詳しく解説します。ここで扱う内容は、日々の業務やデータ解析で頻繁に使われるテクニックが中心です。

目次

時間と日付に関する基本的なSQL関数

SQLには時間や日付を操作するための基本的な関数がいくつかあります。それらを把握することで、より高度な処理を効率よく行えます。

関数説明
NOW()現在の日時を取得NOW() -> ‘2023-10-25 12:34:56’
CURDATE()現在の日付を取得CURDATE() -> ‘2023-10-25’
CURTIME()現在の時間を取得CURTIME() -> ’12:34:56′
基本的な時間と日付関数

日付の加減算

日付の加減算もよく使われる処理です。以下はその基本形です。

SELECT DATE_ADD('2023-10-25', INTERVAL 1 DAY);
SELECT DATE_SUB('2023-10-25', INTERVAL 1 DAY);

時間と日付のフォーマット

日付や時間のフォーマットは、業務やレポートによって異なる場合があります。SQLでこれを操作する方法を紹介します。

DATE_FORMAT関数

DATE_FORMAT関数を使用すると、日付を任意のフォーマットに変換できます。

SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s');
書式説明
%Y4桁の年
%m2桁の月
%d2桁の日
DATE_FORMATで使用可能な主な書式

具体的な使用例

営業日の計算

営業日の計算には、日付の加減算と曜日の情報が必要です。これは以下のようにSQLで実現できます。

SELECT DATE_ADD('2023-10-25', INTERVAL 5 DAY) WHERE DAYOFWEEK('2023-10-25') != 1 AND DAYOFWEEK('2023-10-25') != 7;

月初と月末の取得

月初と月末の日付は、多くの場面で必要とされます。以下のSQLクエリで簡単に取得できます。

SELECT LAST_DAY('2023-10-25'), DATE_ADD(LAST_DAY('2023-10-25'), INTERVAL 1 DAY);

まとめ

この記事では、SQLで時間と日付を操作するための基本的なクエリとフォーマットについて詳しく解説しました。これらの知識があれば、日々の業務やデータ分析で大いに役立つでしょう。

コメント

コメントする

目次