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

TIMESTAMPDIFF()の例– MySQL

    MySQLのTIMESTAMPDIFF() 関数は、2つの日付または日時式の違いを見つけるために使用されます。 2つの日付/日時の値と、差を決定するために使用する単位(など)を渡す必要があります。 、 、など)。 TIMESTAMPDIFF() 関数は、指定された単位の差を返します。

    構文

    まず、構文は次のとおりです。

    TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
    

    ここでは、 unit 差を表すために使用する単位です(例:日、月、年など)。 datetime_expr1 は最初の日付/日時の値であり、 datetime_expr2 2番目です。

    この関数は、 datetime_expr1を減算します datetime_expr2から 結果をunitで返します s。結果は整数として返されます。

    有効な単位

    ユニット 引数は次のいずれかになります:

    • MICROSECOND
    • SECOND
    • MINUTE
    • HOUR
    • DAY
    • MONTH
    • QUARTER
    • YEAR

    例1-日数の違い

    この関数の基本的な使用法を示す例を次に示します。ここでは、2つの日付式を比較し、それらの差を日数で返します。

    SELECT 
      TIMESTAMPDIFF(DAY,'2022-02-01','2022-02-21')
      AS 'Difference in Days';
    

    結果:

    +--------------------+
    | Difference in Days |
    +--------------------+
    |                 20 |
    +--------------------+
    

    例2–時間の違い

    この例では、前の例と同じ値を比較しますが、ここでは、差を時間で返します。 。

    SELECT 
      TIMESTAMPDIFF(HOUR,'2022-02-01','2022-02-21')
      AS 'Difference in Hours';
    

    結果:

    +---------------------+
    | Difference in Hours |
    +---------------------+
    |                 480 |
    +---------------------+
    

    例3–「日時」の例

    差を分単位で返す例を次に示します。この場合、2つの日時の値を比較します(前の例のように日付の値だけではありません)。

    SELECT 
      TIMESTAMPDIFF(MINUTE,'2022-02-01 10:30:27','2022-02-01 10:45:27')
      AS 'Difference in Minutes';
    

    結果:

    +-----------------------+
    | Difference in Minutes |
    +-----------------------+
    |                    15 |
    +-----------------------+
    

    例4–分数秒

    必要に応じて、マイクロ秒(6桁)まで下げることができます。

    SELECT 
      TIMESTAMPDIFF(MICROSECOND,'2022-02-01 10:30:27.000000','2022-02-01 10:30:27.123456') 
      AS 'Difference in Microseconds';
    

    結果:

    +----------------------------+
    | Difference in Microseconds |
    +----------------------------+
    |                     123456 |
    +----------------------------+
    

    例5–否定的な結果

    予想どおり、最初の日付/時刻引数が2番目の引数より大きい場合、結果は負の整数になります。

    SELECT 
      TIMESTAMPDIFF(DAY,'2022-02-21','2022-02-01')
      AS 'Difference in Days';
    

    結果:

    +--------------------+
    | Difference in Days |
    +--------------------+
    |                -20 |
    +--------------------+
    


    1. PostgreSQL:コマンドラインからPostgreSQLデータベースを削除します

    2. MySQLクエリのみを使用して重複を削除しますか?

    3. pysparkシェルでjdbcを使用してpostgresに接続できません

    4. T-SQLのピボットデータ