2008-11-10 16 views
13

estaba revisando algunas consultas SQL y vi una instrucción de selección que se parecía a esteT-SQL: El uso de {fn NOW()} en DONDE

SELECT * 
FROM dbo.mytable 
WHERE (dbo.mytable.[Date] < { fn NOW() }) 

Cuál es el propósito de utilizar una instrucción WHERE como esto ?

No sería más fácil usar un simple GETDATE()?

Respuesta

24

http://www.sqlservercentral.com/Forums/Topic183904-8-1.aspx

GETDATE() es una función específica de T-SQL que devuelve el sistema actual fecha y hora . El estándar SQL equivalente es CURRENT_TIMESTAMP que es aplicable también en T-SQL. {Fn Now()} es una función canónica ODBC que se puede usar en T-SQL ya que el proveedor OLE DB para SQL Server admite . Sin embargo, no hay una diferencia de rendimiento notable entre estos. Usted también puede usar el formato canónico como:

SELECT {fn CURRENT_TIMESTAMP()} AS "date & time", 
     {fn CURRENT_DATE()} AS "date only", 
     {fn CURRENT_TIME()} AS "time only" ; 
+0

No puedo acceder al artículo mencionado. Me pide que inicie sesión. –

+0

Regístrese, es gratis. La parte relevante es lo que publiqué en mi publicación aquí. – LeppyR64