Revisamos completamente cada posts de nuestra página web con la meta de mostrarte en todo momento información más veraz y actualizada.
Solución:
Puedes usar cualquiera GETDATE
(tipo de retorno datetime
) o SYSDATETIME
(tipo de retorno datetime2
), con la diferencia de la precisión de hasta nanosegundos para SYSDATETIME()
.
Ejemplo:
SELECT GETDATE() fn_GetDate, SYSDATETIME() fn_SysDateTime
Resultados:
fn_GetDatefn_SysDateTime 2018-06-27 10:31:18.963 2018-06-27 10:31:18.9659170
Consulte Funciones y tipos de datos de fecha y hora (Transact-SQL) en la documentación del producto.
Para completar, SQL Server también reconoce CURRENT_DATE
como se menciona en la pregunta, como una función escalar ODBC:
SELECT fn CURRENT_DATE();
esto vuelve varchar(10)
por lo que necesitaría un lanzamiento explícito o convertir al date
tipo de datos:
SELECT CONVERT(date, fn CURRENT_DATE());
Las funciones integradas se recomiendan sobre las funciones escalares de ODBC.
CAST (... to date)
con GETDATE()
o SYSDATETIME()
la mejor manera es
SELECT CAST( GETDATE() AS date );
Por extensión en SQL Server, puede emitir SYSDATETIME()
hasta la fecha,
SELECT CAST( SYSDATETIME() AS date );
los documentos en SYSDATETIME
(Transact-SQL) muestra algunos ejemplos más,
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
/* All returned 2007-04-30 */
Puede haber ventajas CAST (GETDATE() AS date)
como GETDATE()
devuelve de forma nativa menos precisión.
Calificaciones y comentarios
Nos puedes añadir valor a nuestro contenido añadiendo tu veteranía en las reseñas.