mysqlクエリ日数

王林
リリース: 2023-05-23 14:18:08
オリジナル
2681 人が閲覧しました

MySQL クエリ日数

データベース開発では、2 つの日付間の日数、時間数、分数などを計算するなど、時間と日付の差をクエリする必要がよくあります。 MySQL は、時刻と日付の差を簡単に計算できるこの機能を実装するための関数をいくつか提供しています。

1. DATEDIFF 関数

DATEDIFF 関数は、2 つの日付間の差を日数で返します。構文は次のとおりです。

DATEDIFF(date1,date2)
ログイン後にコピー

ここで、date1 と date2 は 2 つの日付または日時値であり、関数は 2 つの日付間の日数の差を返します。 date1 が date2 より後の場合、戻り値は正の値になり、それ以外の場合、戻り値は負の値になります。

例:

SELECT DATEDIFF('2019-01-03','2018-12-31'); // 输出3
ログイン後にコピー

2 つのテーブルのユーザー登録日数の差をクエリ:

SELECT DATEDIFF(reg_time,now()) AS days FROM user;
ログイン後にコピー

2. TIMESTAMPDIFF 関数

TIMESTAMPDIFF 関数は 2 つの日付を返します間の時差。構文は次のとおりです。

TIMESTAMPDIFF(unit,start,stop)
ログイン後にコピー

ここで、unit は時差を計算する単位を表し、秒 (SECOND)、分 (MINUTE)、時間 (HOUR)、日 (DAY)、週 (WEEK) を表します。 )、月 (MONTH) )、または年 (YEAR)。

start と stop は開始日と終了日を表し、日付値または日時値を指定できます。この関数は、2 つの日付間の時差を単位で返します。 start が stop より後の場合、戻り値は正の値になり、それ以外の場合、戻り値は負の値になります。

例:

SELECT TIMESTAMPDIFF(MONTH,'2018-02-28','2018-03-31'); // 输出1
ログイン後にコピー

ユーザーの登録期間をクエリする:

SELECT TIMESTAMPDIFF(DAY,reg_time,now()) AS days FROM user;
ログイン後にコピー

3. TIMEDIFF 関数

TIMEDIFF 関数は、2 つの時刻間の時間差を返します。形式は hh:mm:ss です。構文は次のとおりです。

TIMEDIFF(time1, time2)
ログイン後にコピー

ここで、time1 と time2 は時刻または時刻の日付値であり、関数は time1 と time2 の時間差を返します。

例:

SELECT TIMEDIFF('18:30:00', '17:00:00'); // 输出01:30:00
ログイン後にコピー

注文の配達時間を問い合わせる:

SELECT TIMEDIFF(end_time,start_time) AS duration FROM order WHERE order_id=123;
ログイン後にコピー

4. TIME_TO_SEC 関数と SEC_TO_TIME 関数

TIME_TO_SEC 関数は時間値を変換します

TIME_TO_SEC(time)
ログイン後にコピー

ここで、time は時刻または時刻の日付値であり、関数は時間の合計秒数を返します。

SEC_TO_TIME 関数は秒を時間値に変換します。構文は次のとおりです:

SEC_TO_TIME(seconds)
ログイン後にコピー

ここで、秒は秒数を表し、関数は対応する時間値を返します。

例:

SELECT TIME_TO_SEC('01:30:00'); // 输出5400
SELECT SEC_TO_TIME(5400); // 输出01:30:00
ログイン後にコピー

5. 概要

MySQL には、日時の差を計算するための関数が複数用意されており、ニーズに応じて柔軟に選択して使用できます。実際の開発では、機能をより適切に実装するために、特定のビジネス ニーズに基づいて適切な計算方法を選択する必要があります。

以上がmysqlクエリ日数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート