sql >> Base de Datos >  >> RDS >> Mysql

Ejemplos de TIMESTAMP() – MySQL

En MySQL, el TIMESTAMP() La función devuelve un valor de fecha y hora basado en los argumentos pasados. Puede proporcionar uno o dos argumentos. Si proporciona dos, agrega el segundo al primero y devuelve el resultado.

Sintaxis

Puede usar cualquiera de estas dos formas:

TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

El primer argumento (expr y expr1 ) es una expresión de fecha o de fecha y hora. El segundo argumento (expr2 ) es una expresión de tiempo. Si proporciona dos argumentos, expr2 se agrega a expr1 y el resultado es un valor de fecha y hora.

Ejemplo 1:proporciona un argumento de "fecha"

En este ejemplo, proporciono una expresión de fecha.

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

Resultado:

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

Entonces, el resultado es un valor de fecha y hora, independientemente de si nuestro argumento era una expresión de fecha o de fecha y hora.

Ejemplo 2:proporciona un argumento de "fecha y hora"

Y aquí hay un ejemplo usando una expresión de fecha y hora.

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

Resultado:

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

Ejemplo 3:incluye fracciones de segundo

También puede incluir una parte de segundos fraccionarios hasta microsegundos (6 dígitos). Cuando haga esto, el resultado también incluirá esa parte.

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

Resultado:

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

Ejemplo 4:proporcionar 2 argumentos

Aquí hay un ejemplo usando dos argumentos. Como se mencionó, el segundo se agrega al primero.

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

Resultado:

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

Ejemplo 5:valores de "tiempo" más grandes

El tipo de datos de tiempo puede tener un rango de -838:59:59 a 838:59:59 . Esto se debe a que no se limita solo a representar la hora del día. También podría usarse para representar el tiempo transcurrido. En este caso, lo usamos para agregar una gran cantidad de horas a un valor de fecha.

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

Resultado:

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

Ejemplo 6:valores negativos

Puede restar el segundo argumento del primero, simplemente prefijando el segundo valor con un signo menos.

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

Resultado:

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

Ejemplo 7:uso de la fecha actual

Si desea una marca de tiempo que use la fecha actual, es posible que le interesen más funciones como NOW() , CURDATE() , y posiblemente incluso SYSDATE() (para conocer la diferencia, consulte SYSDATE() vs NOW() ).

Sin embargo, el TIMESTAMP() función puede seguir siendo su función preferida en ciertos casos, por ejemplo, si desea agregar un valor de tiempo a la fecha actual.

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

Resultado:

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

Función TIMESTAMPADD()

Puedes usar el TIMESTAMPADD() Función para agregar una unidad específica a una fecha o valor de fecha y hora. Esta función también acepta unidades como días, meses, años, etc.

Si encuentra TIMESTAMP() demasiado restrictivo para sus necesidades, consulte TIMESTAMPADD() Ejemplos.