MariaDBでは、TIMESTAMP() は、引数に基づいて日時値を返す組み込みの日時関数です。
次のように、1つまたは2つの引数で使用できます。
- 1つの引数とともに使用すると、その日付または日時の式が日時の値として返されます。
- 2つの引数とともに使用すると、2番目の(time)引数が最初の(dateまたはdatetime)式に追加され、結果のdatetime値が返されます。
構文
次の2つの方法で使用できます。
TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)
ここで、expr1 は日付または日時の式であり、expr2 expr1に追加する時間式です 。
例
デモンストレーションの例を次に示します。
SELECT TIMESTAMP('2030-02-01'); 結果:
+-------------------------+
| TIMESTAMP('2030-02-01') |
+-------------------------+
| 2030-02-01 00:00:00 |
+-------------------------+ 日時の値
日時の値を渡す例は次のとおりです。
SELECT TIMESTAMP('2030-02-01 10:30:45'); 結果:
+----------------------------------+
| TIMESTAMP('2030-02-01 10:30:45') |
+----------------------------------+
| 2030-02-01 10:30:45 |
+----------------------------------+> 2番目の引数
2番目の引数を最初の引数に追加する例を次に示します。
SELECT TIMESTAMP('2030-02-01 10:30:45', '02:15:15'); 結果:
+----------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '02:15:15') |
+----------------------------------------------+
| 2030-02-01 12:46:00 |
+----------------------------------------------+ マイクロ秒
マイクロ秒を追加する例を次に示します。
SELECT TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456'); 結果:
+-----------------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456') |
+-----------------------------------------------------+
| 2030-02-01 10:30:45.123456 |
+-----------------------------------------------------+ ネガティブタイム
負の時間は有効です:
例:
SELECT TIMESTAMP('2030-02-01 10:30:45', '-09:20:00'); 結果:
+-----------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '-09:20:00') |
+-----------------------------------------------+
| 2030-02-01 01:10:45 |
+-----------------------------------------------+ 現在の日付
NOW()を渡すことができます 現在の日時を使用する日時引数として:
SELECT
NOW(),
TIMESTAMP(NOW(), '10:30:45'); 結果:
+---------------------+------------------------------+ | NOW() | TIMESTAMP(NOW(), '10:30:45') | +---------------------+------------------------------+ | 2021-05-28 09:25:09 | 2021-05-28 19:55:54 | +---------------------+------------------------------+
無効な引数
無効な引数が渡されると、TIMESTAMP() nullを返します 警告付き:
SELECT TIMESTAMP('Ten Thirty AM'); 結果:
+----------------------------+
| TIMESTAMP('Ten Thirty AM') |
+----------------------------+
| NULL |
+----------------------------+
1 row in set, 1 warning (0.004 sec) 警告を確認してください:
SHOW WARNINGS; 結果:
+---------+------+---------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------+ | Warning | 1292 | Incorrect time value: 'Ten Thirty AM' | +---------+------+---------------------------------------+
引数がありません
TIMESTAMP()の呼び出し 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT TIMESTAMP(); 結果:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
そして別の例:
SELECT TIMESTAMP('2020-12-09', '06:30:45', '06:30:45'); 結果:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1