۲۷ آذر ۱۳۹۶ آموزش کاربردی۲ نظر
آموزش توابع در SQL – توابع کار با تاریخ و زمان

آموزش توابع در SQL – توابع کار با تاریخ و زمان

در این جلسه از سری آموزش های SQL میخواهیم شما را با توابع در SQL آشنا کنیم.

در جلسات قبل آموزش هایی از قبیل دستور Select و دستور Concatenation داشتیم. پیشنهاد میکنم اگر اولین بار است که ما را برای آموزش SQL انتخاب کرده اید حتما جلسات قبل را مطالعه نمایید و همچنین نصب SQL را نیز یاد بگیرید.

همانطور که قبلا هم گفتیم دستور Select  مبحثی ست که در SQL جزو کلیدی ترین مواردی است که باید بلد باشیم. گاهی برای استخراج داده های مورد نیازمون با Select  باید از توابعی استفاده کنیم که آن داده ها را در اختیار ما قرار بدهند.

تابع ()GETDATE:

به طور مثال اگر میخواهید تاریخ کنونی سیستمتان (که معمولا تاریخ همان روز میباشد) را در کوئری خود داشته باشید از تابع ()GETDATE استفاده کنید.

()Select GETDATE

دستور را اجرا کردید؟ حالا میبینید که خروجی شما تاریخ سِت شده بر روی سیستمان می باشد.

تابع ()DATEDIFF:

تابع ()DATEDIFF نیز برای بدست آوردن تاریخ می باشد، منتها مقایسه دو تاریخی که مد نظر شماست و ممکن است بازه ی خاصی مد نظر باشد. با یک مثال راحت تر متوجه خواهید شد.

(()SELECT DATEDIFF( year , ‘1990-02-01’ , getdate

این دستور از ۳ بخش تشکیل شده است. بخش اول که ما الان از year استفاده کرده ایم به این معناست که میخواهیم خروجی ما بر اساس سالِ داده باشد. میتوانیم به جای year از Day و Month نیز استفاده کنیم که در این صورت خروجی را به ما بر اساس روز و یا ماه خواهد داد.

بخش دوم تاریخ شروعی است که انتخاب مینماییم. یعنی میگوییم به طور مثال از تاریخ ۰۱-۰۲-۱۹۹۰ به بعد داده ها را به ما بده.

بخش سوم تاریخ پایانی میباشد( یعنی انتهای بازه). ما اینجا از getdate استفاده کردیم .چون میخواستیم تا تاریخ فعلی به ما داده بدهد. اگر تاریخ را به طور مثال میزدیم ۰۱-۰۲-۱۹۹۶، به ما داده ها را این تاریخ میداد.

به طور کلی این دستوری که ما نوشتیم یعنی از تاریخ ۰۱-۰۲-۱۹۹۰ تا امروز به ما بگو چند سال وجود دارد.

یک مثال دیگر برای درک کامل میزنیم.

میخواهیم سن کارمندارن شرکتمان را بدست بیاوریم.

Select employeeID, firstname,lastname, datediff(year, birthdate, getdate()) as Age

From employees

ما این دستور را با استفاده از جدول Northwind نوشتیم که قبلا در اختیار شما قرار دادیم و گفتیم با این جدول تمامی مثال ها و تمرین ها را پیش میبریم. اما شما هم میتوانید به همین صورت با جداول خودتان کوئری بنویسید.

جواب این دستور به شکل زیر خواهد بود:

datediff, آموزش datediff, آموزش sql, آموزش توابع در SQL, آموزش توابع , آموزش getdate, getdate

تمرین: از جدول orders، تعداد ماه های تک تک سفارشات تا اکنون را حساب کنید. در خروجی نام orderID و CustomerID را نیز ببینیم.

مطالب مرتبط:

مقدمات SQL

دستورات SQL

برچسب ها :

0 0 رای
رتبه بندی متن
اشتراک در
اطلاع از
guest
2 دیدگاه
قدیمی ترین
جدیدترین رای بیشتر
بازخورد درون خطی
مشاهده همه نظرات
عارف
عارف
2 سال پیش

چرا از دستور

SELECT DATEDIFF(year, birthday, GETDATE()) AS sen
استفاده میکنم سن رو یکسال کمتر نشون میده؟

عارف
عارف
2 سال پیش

مثلا تاریخ تولد ۲۳/۱۱/۱۳۵۰ وقتی بصورت میلادی وارد شه میشه
۱۲.۰۲.۱۹۷۲
وحالا وقتی از کد گفته شده در اموزش بالا استفاده بشه باید سن رو ۴۷ سال نشون بده ولی ۴۶ نشون میده
با تشکر از راهنمایی شما

2
0
Would love your thoughts, please comment.x
()
x