En MariaDB, TIMESTAMP() es una función de fecha y hora integrada que devuelve un valor de fecha y hora, en función de su argumento o argumentos.
Se puede usar con uno o dos argumentos, de la siguiente manera:
- Cuando se usa con un argumento, devuelve esa expresión de fecha o fechahora como un valor de fechahora.
- Cuando se usa con dos argumentos, agrega el segundo argumento (hora) a la primera expresión (fecha o fechahora) y luego devuelve el valor de fechahora resultante.
Sintaxis
Se puede utilizar de las dos formas siguientes:
TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)
Donde expr1 es una expresión de fecha o fecha y hora, y expr2 es una expresión de tiempo para agregar a expr1 .
Ejemplo
Aquí hay un ejemplo para demostrarlo:
SELECT TIMESTAMP('2030-02-01'); Resultado:
+-------------------------+
| TIMESTAMP('2030-02-01') |
+-------------------------+
| 2030-02-01 00:00:00 |
+-------------------------+ Valores de fecha y hora
Aquí hay un ejemplo de cómo pasar un valor de fecha y hora:
SELECT TIMESTAMP('2030-02-01 10:30:45'); Resultado:
+----------------------------------+
| TIMESTAMP('2030-02-01 10:30:45') |
+----------------------------------+
| 2030-02-01 10:30:45 |
+----------------------------------+ Segundo Argumento
Aquí hay un ejemplo que agrega el segundo argumento al primero:
SELECT TIMESTAMP('2030-02-01 10:30:45', '02:15:15'); Resultado:
+----------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '02:15:15') |
+----------------------------------------------+
| 2030-02-01 12:46:00 |
+----------------------------------------------+ Microsegundos
Aquí hay un ejemplo que agrega microsegundos:
SELECT TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456'); Resultado:
+-----------------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456') |
+-----------------------------------------------------+
| 2030-02-01 10:30:45.123456 |
+-----------------------------------------------------+ Tiempos negativos
Los tiempos negativos son válidos:
Ejemplo:
SELECT TIMESTAMP('2030-02-01 10:30:45', '-09:20:00'); Resultado:
+-----------------------------------------------+
| TIMESTAMP('2030-02-01 10:30:45', '-09:20:00') |
+-----------------------------------------------+
| 2030-02-01 01:10:45 |
+-----------------------------------------------+ Fecha actual
Podemos pasar NOW() como argumento de fecha y hora para usar la fecha y hora actuales:
SELECT
NOW(),
TIMESTAMP(NOW(), '10:30:45'); Resultado:
+---------------------+------------------------------+ | NOW() | TIMESTAMP(NOW(), '10:30:45') | +---------------------+------------------------------+ | 2021-05-28 09:25:09 | 2021-05-28 19:55:54 | +---------------------+------------------------------+
Argumentos no válidos
Cuando se pasa un argumento no válido, TIMESTAMP() devuelve null con una advertencia:
SELECT TIMESTAMP('Ten Thirty AM'); Resultado:
+----------------------------+
| TIMESTAMP('Ten Thirty AM') |
+----------------------------+
| NULL |
+----------------------------+
1 row in set, 1 warning (0.004 sec) Compruebe la advertencia:
SHOW WARNINGS; Resultado:
+---------+------+---------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------+ | Warning | 1292 | Incorrect time value: 'Ten Thirty AM' | +---------+------+---------------------------------------+
Argumento faltante
Llamando a TIMESTAMP() con el número incorrecto de argumentos, o sin pasar ningún argumento, da como resultado un error:
SELECT TIMESTAMP(); Resultado:
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
Y otro ejemplo:
SELECT TIMESTAMP('2020-12-09', '06:30:45', '06:30:45'); Resultado:
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