2008-11-10 14 views
13

bazı SQL sorguları incelerken ve ben bir kullanma amacı nedir buT-SQL: in {fn NOW()} kullanarak NEREDE

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

benzeyen bir select deyimi gördüm NEREDE böyle deyimi ?

Basit bir GETDATE() kullanmak daha kolay olmaz mı?

cevap

24

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

GETDATE() mevcut sistemin tarihi ve zaman döner bir T-SQL özgü bir işlevdir. SQL standart eşdeğeri, T-SQL'de de geçerli olan olan CURRENT_TIMESTAMP şeklindedir. {Fn Now()}, SQL Server için OLE DB sağlayıcısı, desteklediğinden, T-SQL'de kullanılabilen bir ODBC kanonik işlevi olan 'dur. Bunlar arasında dikkate değer bir performans farkı yok. ayrıca kanonik biçimi şu şekilde kullanabilir:

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

Söz konusu makaleye erişemiyorum. Oturum açmamı istiyor. –

+0

Kayıt olun, ücretsizdir. İlgili bölüm, buradaki yazımda yayınladığım bölümdür. – LeppyR64