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

TO_SECONDS()の例– MySQL

    MySQLでは、TO_SECONDS() 関数は、0年からの秒数を返します。

    この関数をTIME_TO_SECONDS()と混同しないでください。 関数。引数として指定された特定の時間値の秒数を返します。

    構文

    構文は次のようになります:

    TO_SECONDS(expr)
    

    expr は日付または日時の値です(0年と比較されます)。

    例1-「日付」引数の使用

    日付引数を使用した例を次に示します。

    SELECT TO_SECONDS('2021-09-21');
    

    結果:

    +--------------------------+
    | TO_SECONDS('2021-09-21') |
    +--------------------------+
    |              63799401600 |
    +--------------------------+
    

    例2–「datetime」引数の使用

    日時引数を使用した例を次に示します。

    SELECT TO_SECONDS('2021-09-21 10:30:25');
    

    結果:

    +-----------------------------------+
    | TO_SECONDS('2021-09-21 10:30:25') |
    +-----------------------------------+
    |                       63799439425 |
    +-----------------------------------+
    

    例3–現在の日付を使用する

    この例では、CURDATE()を渡します 現在の日付を使用するための引数として機能します。

    SELECT TO_SECONDS(CURDATE()) AS 'Result';
    

    結果:

    +-------------+
    | Result      |
    +-------------+
    | 63697968000 |
    +-------------+
    

    例4–現在の日付と時刻を使用する

    この例では、NOW()を渡します 現在の日付と時刻を使用するための引数として機能します。

    SELECT TO_SECONDS(NOW()) AS 'Result';
    

    結果:

    +-------------+
    | Result      |
    +-------------+
    | 63698002698 |
    +-------------+
    

    2桁の年

    MySQLには、2桁の年の日付を処理するための特別なルールがあります。世紀が不明であるため、2桁の年はあいまいです。基本的に、次のルールが適用されます。

    • 00-69の範囲の年の値 2000-2069に変換されます 。
    • 70-99の範囲の年の値 1970-1999に変換されます 。

    完全な説明については、MySQLが2桁の年を処理する方法に関するMySQLのドキュメントを参照してください。

    デモンストレーションの例を次に示します。

    SELECT 
      TO_SECONDS('69-10-07') AS '69 (2069)',
      TO_SECONDS('70-10-07') AS '70 (1970)';
    

    結果:

    +-------------+-------------+
    | 69 (2069)   | 70 (1970)   |
    +-------------+-------------+
    | 65315548800 | 62191324800 |
    +-------------+-------------+
    

    省略された日付

    省略された日付を使用することもできます。これは、以前の日付の値を省略形で使用した例です。

    SELECT 
      TO_SECONDS('691007') AS '69 (2069)',
      TO_SECONDS('701007') AS '70 (1970)';
    

    結果:

    +-------------+-------------+
    | 69 (2069)   | 70 (1970)   |
    +-------------+-------------+
    | 65315548800 | 62191324800 |
    +-------------+-------------+
    

    以前の日付

    MySQLのドキュメントでは、TO_SECONDS() 機能:

    グレゴリオ暦(1582)の出現より前の値での使用は意図されていません。これは、カレンダーが変更されたときに失われた日数が考慮されていないためです。 1582年より前の日付(および他のロケールではそれ以降の年)の場合、この関数の結果は信頼できません。


    1. phpMyAdminが#2002をスローしていますmysqlサーバーにログインできませんphpmyadmin

    2. すべての列を選択する方法、および同じクエリ内のcount(*)

    3. mysqlデータベースへの重複エントリを回避するための最良の方法

    4. MySQLのGROUP_CONCATの反対は何ですか?