آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

توابع Date (تاریخ) در SQL

دوره های پیشنهادی

سخت ترین قسمت کار با Date این است که مطمئن شویم فرمت تاریخی که شما سعی می کنید وارد کنید با فرمت ستون تاریخ در پایگاه داده هم خوانی داشته باشد.

تا زمانی که داده فقط شامل تاریخ باشد، query  شما همان طور که انتظار دارید کار خواهد کرد. اما اگر ساعت نیز شامل تاریخ شود، کار کمی پیچیده خواهد شد.

قبل از صحبت درباره پیچیدگی های ارسال query برای تاریخ، توابع مهم آن را با هم مرور می کنیم:

توابع تاریخ در MySQL

جدول زیر، لیستی از مهم ترین توابع تاریخ در MySQL  را نشان می دهد:

تابع
توضیحات
NOW()
تاریخ و ساعت جاری را برمی گرداند
CURDATE()
تاریخ جاری را برمی گرداند
CURTIME()
ساعت جاری را برمی گرداند
DATE()
بخش تاریخ را از یک عبارت date/time بیرون می کشد
EXTRACT()
یکی از بخش های عبارت date/time . را برمی گرداند
DATE_ADD()
یک فاصله زمانی مشخص را به تاریخ اضافه می کند
DATE_SUB()
یک فاصله زمانی مشخص را از تاریخ کم می کند
DATEDIFF()
تعداد روز بین دو تاریخ را برمی گرداند
DATE_FORMAT()
تاریخ و ساعت را به فرمت های مختلف نشان می دهد

توابع تاریخ در SQL Server

جدول زیر، لیستی از مهم ترین توابع تاریخ در SQL Server را نشان می دهد:

تابع
توضیحات
GETDATE()
تاریخ و ساعت جاری را برمی گرداند
DATEPART()
یکی از بخش های عبارت date/time را برمی گرداند
DATEADD()
یک فاصله زمانی مشخص را به تاریخ اضافه یا کم می کند
DATEDIFF()
زمان بین دو تاریخ را برمی گرداند
CONVERT()
تاریخ و ساعت را به فرمت های مختلف نشان می دهد

انواع داده های تاریخ در SQL

MySQL برای ذخیره مقادیر تاریخ و یا تاریخ / ساعت در پایگاه داده از فرمت های زیر استفاده می کند:

  • DATE - format YYYY-MM-DD
  • DATETIME - format: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP - format: YYYY-MM-DD HH:MI:SS
  • YEAR - format YYYY or YY

SQL Server برای ذخیره مقادیر تاریخ و یا تاریخ / ساعت در پایگاه داده از فرمت های زیر استفاده می کند:

  • DATE - format YYYY-MM-DD
  • DATETIME - format: YYYY-MM-DD HH:MI:SS
  • SMALLDATETIME - format: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP - format: a unique number
نکته:

نکته: زمانی که یک جدول جدید در پایگاه داده ایجاد می کنید برای هر ستون، Data Type  های آنرا انتخاب کنید.

کار با تاریخ در SQL

 اگر مولفه ساعت در میان نباشد، براحتی می توانید دو تاریخ مختلف را با هم مقایسه کنید!

فرض کنید جدول "Orders" زیر را داریم:

OrderId
ProductName
OrderDate
1
Geitost
2008-11-11
2
Camembert Pierrot
2008-11-09
3
Mozzarella di Giovanni
2008-11-11
4
Mascarpone Fabioli
2008-10-29

حالا می خواهیم رکوردهایی با OrderDate "11-11-2008" را از جدول بالا انتخاب کنیم.

از دستور SELECT  زیر استفاده می کنیم:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

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

OrderId
ProductName
OrderDate
1
Geitost
2008-11-11
2
Mozzarella di Giovanni
2008-11-11

حالا، فرض کنید که جدول "Orders" شبیه به آنچه در زیر می بینید باشد (به مولفه ساعت درستون “OrderDate” توجه کنید):

OrderId
ProductName
OrderDate
1
Geitost
2008-11-11 13:23:44
2
Mozzarella di Giovanni
2008-11-09 15:45:21
3
Mozzarella di Giovanni
2008-11-11 11:12:01
4
Mascarpone Fabioli
2008-10-29 14:56:59

اگر مجددا از همان دستور SELECT که در  بالا استفاده کردیم استفاده کنیم:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

 نتیجه ای نخواهیم گرفت! علت این امر آن است که درخواست ارسالی از جانب ما تنها به دنبال تاریخ و نه  ساعت می گردد.

نکته:

نکته: اگر می خواهید  Queryهای ساده ای داشته باشید، اجازه ندهید مولفه های ساعت در تاریخ های شما وارد شوند.

  • 15457
  •    2496
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانلود سورس کد دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .