Saiyine
Punto Com

Obtener la fecha y hora en SQLServer con CURRENT_TIMESTAMP, GETDATE() ó {fn NOW()}

2011-03-09 14:48:55

A los administradores de bases de datos que vienen del mundo MySQL les suele chocar el no disponer de la funcion now(), pero pueden respirar tranquilos que en SQL Server tenemos tres maneras de obtener la fecha y hora actual: CURRENT_TIMESTAMP, GETDATE() y {fn NOW()}.

  • CURRENT_TIMESTAMP
CURRENT_TIMESTAMP es una función no determinista, por lo que no se puede usar como indice en vistas y expresiones. Se puede usar CURRENT_TIMESTAMP para imprimir la fecha y hora actuales.

  • GETDATE()
GETDATE es tampoco es determinista, así­ que se aplican los mismos terminos que a la anterior en materia de indices.

  • {fn Now()}
{fn Now()} es una función canonica de ODBC que se puede usar en T-SQL, ya que el proveedor OLE DB de SQL Server la soporta.

Si ejecutais estas lineas en el Analizador de Consultas, vereis que las tres dan el mismo resultado, son iguales hasta en el plan de ejecución, así­ que apostaria a que son alias de la misma función interna, y, desde luego, tardan lo mismo en ejecutarse.

SELECT CURRENT_TIMESTAMP
GO
SELECT {fn NOW()}
GO
SELECT GETDATE()
GO

En resumen, tres funciones exactamente iguales, y que da exactamente lo mismo usar una que otra. Yo suelo poner {fn NOW()}, pero no tengo ni idea de porqué, quizás fue la primera que me salió en el Google cuando yo mismo tuve que empezar con SQL Server, o a lo mejor es que me hace gracia la pinta tan rara que tiene.

Rollos antiguos

2011-03-03 14:26:17 - Escaneos mortales.

2011-03-03 14:19:24 - SHA1 online generator.

2011-03-03 14:16:36 - MD5 online generator.

2011-03-03 14:13:31 - Generador SHA1 online.

2011-03-03 14:03:26 - Generador MD5 online.

Saiyine

Selfie of meHi! Welcome to Saiyine Punto Com where I talk about anything that goes through my mind!

Puedo prometer y prometo que a la mayor brevedad aquí irá un menú o algo asín.