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

پنجشنبه 21 آبان 1394

در این مقاله با یک دیتابیس کوچک اما با پتانسیل، برای نوشتن 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 های پیچیده تری خواهیم نوشت 

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

 

 

 

 

 

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

سروش صدر

نویسنده 4 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید