SUBDATE (SUBDATE)
با «کاهش تاریخ با SUBDATE» می توانیم از یک تاریخ، «فاصله زمانی (Interval)» کم کنیم. فاصله زمانی یعنی مقدار + واحد زمان مثل 10 روز یا 3 ساعت. این کار شبیه کم کردن روز از تاریخ تولد در تقویم است.
تعریف ساده و کاربرد
تابع SUBDATE یک فاصله زمانی از «تاریخ (Date)» کم می کند و تاریخ جدید را می دهد. می توانید روز، ساعت، دقیقه و حتی ماه کم کنید. اگر مقدار منفی بدهید، در عمل اضافه می کند.
نحوه نوشتن (Syntax)
SUBDATE(date, INTERVAL value unit) یا SUBDATE(date, days)
نکته: unit می تواند یکی از DAY, WEEK, MONTH, YEAR, HOUR, MINUTE و ... باشد.
مثال های عملی با کاهش تاریخ با SUBDATE
کم کردن 10 روز
SELECT SUBDATE("2017-06-15", INTERVAL 10 DAY);
مثل این است که تاریخ امتحان را 10 روز عقب بکشیم.
کم کردن 15 دقیقه
SELECT SUBDATE("2017-06-15 09:34:21", INTERVAL 15 MINUTE);
این شبیه جلو افتادن زنگ تفریح به مدت 15 دقیقه است.
کم کردن 3 ساعت
SELECT SUBDATE("2017-06-15 09:34:21", INTERVAL 3 HOUR);
فرض کن شروع بازی 3 ساعت زودتر اعلام شود.
اضافه کردن به کمک مقدار منفی
SELECT SUBDATE("2017-06-15", INTERVAL -2 MONTH);
مقدار منفی یعنی در عمل زمان اضافه می شود. این 2 ماه جلو می رود.
واحدها و پارامترها
پارامتر date تاریخ اولیه است. پارامتر days تعداد روز کم شونده است. در حالت INTERVAL، یک value و یک unit می دهیم؛ مثل 3 HOUR یا 15 MINUTE.
نکته: از MySQL 4.0 پشتیبانی می شود.
مقایسه و ادامه یادگیری
برای زمان های غیرتاریخی از SUBTIME() هم کمک بگیر. همچنین برای تبدیل رشته به تاریخ، صفحه STR_TO_DATE() را ببین.
برای مرور، این عبارت را به خاطر بسپار: کاهش تاریخ با SUBDATE.
جمع بندی سریع
- SUBDATE تاریخ را به عقب می برد.
- می توان روز یا ساعت کم کرد.
- مقدار منفی یعنی اضافه کردن.
- دو نحو دارد: روز ساده یا INTERVAL.
- از MySQL 4.0 دردسترس است.