کاربرد تابع DATEDIFF در Query نویسی - قسمت اول

در این مقاله با یک دیتابیس کوچک اما با پتانسیل، برای نوشتن Query آشنا میشویم

در این مقاله با دیتابیس Family که شامل دو جدول است آشنا میشویم و Query های متعددی را روی این دیتابیس پیاده میکنیم . (در طی چند قسمت )

جدول Person که شامل فیلد های زیر است 

و همینطور که مشاهده میکنید شامل اطلاعات شخصی و همینطور 2 کلید خارجی به همین جدول است ! که برای مشخص کردن والدین هر شخص میباشد.

جدول بعدی جدول Marriage است که دارای فیلد های زیر است 

که شامل اطلاعات ازدواج میباشد و 2 کلید خارجی به جدول Person دارد.

Query اول :

چه اشخاصی در چند سالگی فوت کرده اند ؟

SELECT  FirstName ,
        LastName ,
        CONVERT(VARCHAR(10), DateOfDeath, 101) AS Death ,
        DATEDIFF(yy, DateOfBirth, DateOfDeath) AS Age
FROM    Person
WHERE   DateOfDeath IS NOT NULL
ORDER BY Age;

همینطور که مشاهده میکنید برای محاسبه اختلاف دو تاریخ میتوان از تابع DATEDIFF استفاده کرد که فرمت کلی آن به این صورت است :

و برای قسمت datepart که مشخص میکند شما بر چه اساسی قصد حساب کردن این تفاضل را دارید می توانید از عبارات زیر استفاده کنید : 

در این قسمت ما Query بسیار ساده ای رو نوشتیم اما بیشتر قصد معرفی دیتابیس و تابع DateDiff بود در قسمت های بعد با همین دیتابیس Query های پیچیده تری خواهیم نوشت 

فایل ایجاد دیتابیس رو ضمیمه خواهم کرد اما وارد کردن دیتاهای جدول با شما :-)

 

 

 

 

 

فایل های ضمیمه