sql >> Base de Datos >  >> RDS >> Sqlserver

CURRENT_TIMESTAMP Ejemplos en SQL Server (T-SQL)

El CURRENT_TIMESTAMP la función devuelve la fecha y la hora actuales como datetime valor. Este valor se deriva del sistema operativo de la computadora en la que se ejecuta la instancia de SQL Server.

Esta función es el equivalente ANSI SQL a T-SQL GETDATE() función, para que pueda usar la que prefiera. Tenga en cuenta que ambas funciones tienen un rango de fechas más bajo y una precisión fraccionaria predeterminada más baja que T-SQL SYSDATETIME() función (que devuelve un datetime2(7) valor).

Este artículo proporciona ejemplos de CURRENT_TIMESTAMP función, incluido cómo puede usarla con otras funciones para devolver el valor que le interesa.

Sintaxis

La sintaxis es así:

CURRENT_TIMESTAMP

Así que simplemente llame a esta función sin ningún argumento.

Ejemplo

Aquí hay un ejemplo básico del uso de un SELECT declaración para devolver la fecha y la hora actual de CURRENT_TIMESTAMP :

SELECT CURRENT_TIMESTAMP AS Result;

Resultado:

+-------------------------+
| Result                  |
|-------------------------|
| 2018-06-16 00:06:36.740 |
+-------------------------+

Extraer una parte de la fecha

Si solo desea una parte del valor devuelto, puede usar DATEPART() para devolver solo la parte de la fecha/hora que le interesa.

Ejemplo:

SELECT DATEPART(month, CURRENT_TIMESTAMP) AS Result;

Resultado:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Aquí hay otro ejemplo usando MONTH() función. El resultado es el mismo.

SELECT MONTH(CURRENT_TIMESTAMP) AS Result;

Resultado:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Ambas funciones devuelven el mes actual. Pero los devuelven como un número entero que representa el número del mes.

Si quieres el mes nombre devuelto en su lugar, puede usar DATENAME() :

SELECT DATENAME(month, CURRENT_TIMESTAMP) AS Result;

Resultado:

+----------+
| Result   |
|----------|
| June     |
+----------+

Dar formato a la fecha

También puede usar otras funciones de T-SQL para formatear la fecha según sea necesario.

Aquí hay un ejemplo del uso de FORMAT() función para formatear el resultado:

SELECT 
    FORMAT(CURRENT_TIMESTAMP, 'd', 'en-US') AS 'd, en-US',
    FORMAT(CURRENT_TIMESTAMP, 'd', 'en-gb') AS 'd, en-gb',
    FORMAT(CURRENT_TIMESTAMP, 'D', 'en-US') AS 'D, en-US',
    FORMAT(CURRENT_TIMESTAMP, 'D', 'en-gb') AS 'D, en-gb';

Resultado:

+------------+------------+-------------------------+--------------+
| d, en-US   | d, en-gb   | D, en-US                | D, en-gb     |
|------------+------------+-------------------------+--------------|
| 6/16/2018  | 16/06/2018 | Saturday, June 16, 2018 | 16 June 2018 |
+------------+------------+-------------------------+--------------+

Más ejemplos en Cómo formatear la fecha y la hora en SQL Server.

Incrementar el valor y encontrar la diferencia

Puede usar funciones como DATEDIFF() para devolver la diferencia entre la fecha actual y otra fecha.

Aquí hay un ejemplo del uso de DATEADD() para agregar un mes a la fecha actual y luego encontrar la diferencia en días:

DECLARE @date1 datetime2 = CURRENT_TIMESTAMP;
DECLARE @date2 datetime2 = DATEADD(month, 1, CURRENT_TIMESTAMP);
SELECT DATEDIFF(day, @date1, @date2) AS Result;

Resultado:

+----------+
| Result   |
|----------|
| 30       |
+----------+