Son zamanlarda SQL Server 2005 için yazılmış oldukça eski saklı yordamlar bakıyordum ve anlamadığım bir şey fark ettim. Bir tür işlev çağrısı gibi görünüyor.
Bir örnek:
SELECT o.name, o.type_desc, o.create_date
FROM sys.objects o
WHERE o.create_date < {fn Now()} -1;
Bu işlem, 24 saat öncesine kadar sys.objects
olan tüm satırları görüntüler create_date
.
Bu sorgu için yürütme planını görüntülersem, bunun Veritabanı Altyapısı {fn Now()}
ile değiştirildiğini görüyorum getdate()
:
SELECT [o].[name],[o].[type_desc],[o].[create_date]
FROM [sys].[objects] [o]
WHERE [o].[create_date]<(getdate()-@1)
Açıkçası, kullanmak {fn Now()}
çok daha yaygındır GetDate()
. Biri için ben belgesiz olduğu için veba gibi bu sözdiziminden kaçınacağım.