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

TIMESTAMP()の例– MySQL

    MySQLでは、TIMESTAMP() 関数は、渡された引数に基づいて日時値を返します。1つまたは2つの引数を指定できます。 2つ指定すると、最初の1つに2つ目の追加が追加され、結果が返されます。

    構文

    次の2つの形式のいずれかを使用できます。

    TIMESTAMP(expr)
    TIMESTAMP(expr1,expr2)
    

    最初の引数(expr およびexpr1 )は日付または日時の式です。 2番目の引数(expr2 )は時間式です。 2つの引数を指定すると、expr2 expr1に追加されます 結果は日時値です。

    例1-「日付」引数を指定する

    この例では、日付式を提供します。

    SELECT TIMESTAMP('1999-12-31');
    

    結果:

    +-------------------------+
    | TIMESTAMP('1999-12-31') |
    +-------------------------+
    | 1999-12-31 00:00:00     |
    +-------------------------+
    

    したがって、引数が日付式であるか日時式であるかに関係なく、結果は日時値になります。

    例2–「日時」引数を指定する

    そして、これが日時式を使用した例です。

    SELECT TIMESTAMP('1999-12-31 23:59:59');
    

    結果:

    +----------------------------------+
    | TIMESTAMP('1999-12-31 23:59:59') |
    +----------------------------------+
    | 1999-12-31 23:59:59              |
    +----------------------------------+
    
    >

    例3–分数秒を含める

    マイクロ秒(6桁)までの秒の一部を含めることもできます。これを行うと、結果にはその部分も含まれます。

    SELECT TIMESTAMP('1999-12-31 23:59:59.999999');
    

    結果:

    +-----------------------------------------+
    | TIMESTAMP('1999-12-31 23:59:59.999999') |
    +-----------------------------------------+
    | 1999-12-31 23:59:59.999999              |
    +-----------------------------------------+
    

    例4–2つの引数を指定する

    2つの引数を使用した例を次に示します。前述のように、2番目のものが最初のものに追加されます。

    SELECT TIMESTAMP('1999-12-31', '12:30:45');
    

    結果:

    +-------------------------------------+
    | TIMESTAMP('1999-12-31', '12:30:45') |
    +-------------------------------------+
    | 1999-12-31 12:30:45                 |
    +-------------------------------------+
    

    例5–より大きな「時間」値

    時間データ型の範囲は-838:59:59です。 838:59:59 。これは、時刻を表すだけではないためです。また、経過時間を表すために使用することもできます。この場合、これを使用して、日付値に多数の時間を追加します。

    SELECT TIMESTAMP('1999-12-31', '400:30:45');
    

    結果:

    +--------------------------------------+
    | TIMESTAMP('1999-12-31', '400:30:45') |
    +--------------------------------------+
    | 2000-01-16 16:30:45                  |
    +--------------------------------------+
    

    例6–負の値

    2番目の値の前にマイナス記号を付けるだけで、最初の引数から2番目の引数を引くことができます。

    SELECT TIMESTAMP('1999-12-31', '-400:30:45');
    

    結果:

    +---------------------------------------+
    | TIMESTAMP('1999-12-31', '-400:30:45') |
    +---------------------------------------+
    | 1999-12-14 07:29:15                   |
    +---------------------------------------+
    

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

    現在の日付を使用するタイムスタンプが必要な場合は、NOW()などの関数に関心があるかもしれません。 、CURDATE() 、場合によってはSYSDATE() (違いについては、SYSDATE()を参照してください。 vs NOW()

    ただし、TIMESTAMP() 現在の日付に時刻の値を追加する場合など、特定の場合には、関数が引き続き優先される関数である可能性があります。

    SELECT 
        TIMESTAMP(CURDATE()) AS 'Today',
        TIMESTAMP(CURDATE(), '24:00:00') AS 'Tomorrow';
    

    結果:

    +---------------------+---------------------+
    | Today               | Tomorrow            |
    +---------------------+---------------------+
    | 2018-07-03 00:00:00 | 2018-07-04 00:00:00 |
    +---------------------+---------------------+
    

    TIMESTAMPADD()関数

    TIMESTAMPADD()を使用できます 指定された単位を日付または日時の値に追加する関数。この関数は、日、月、年などの単位も受け入れます。

    TIMESTAMP()を見つけた場合 ニーズに対して制限が強すぎます。TIMESTAMPADD()を参照してください 例。


    1. IDEF1X表記

    2. postgresでjson配列を行に変換する方法

    3. MySQLからJSONデータを取得する方法は?

    4. MySQLでのCHAR()の例