PERIOD_DIFF (PERIOD_DIFF)
تابع PERIOD_DIFF اختلاف «دوره فشرده» را می دهد. «دوره (Period)» یعنی تاریخ فشرده مثل YYYYMM. این برای گزارش های ماهانه عالی است.
اختلاف دوره ماهانه MySQL چیست؟
PERIOD_DIFF(period1, period2) اختلاف دو دوره را به «ماه» برمی گرداند. هر دو ورودی باید یک فرمت باشند.
نحوه نوشتن (Syntax)
-- فرمت ورودی: YYMM یا YYYYMM.
SELECT PERIOD_DIFF(period1, period2);
مثال های عملی
اختلاف مثبت بین دو دوره
از اسفند 2017 تا مهر 2017 چند ماه فاصله است؟
SELECT PERIOD_DIFF(201710, 201703);
نتیجه منفی؛ وقتی دوره اول عقب تر است
اگر دوره اول جلوتر نباشد، خروجی منفی می شود.
SELECT PERIOD_DIFF(201703, 201803);
فرمت کوتاه YYMM هم پشتیبانی می شود
هر دو ورودی باید هم فرمت باشند تا نتیجه درست باشد.
SELECT PERIOD_DIFF(1703, 1612);
نکته ها و ارتباط ها
نکته: همیشه فرمت ها را یکی بگیر. مثلاً هر دو YYYYMM.
نکته: برای افزودن ماه به دوره از PERIOD_ADD کمک بگیر.
نکته: گزارش های فصل را می خواهی؟ به QUARTER سر بزن.
گام های تمرینی سریع
- دو دوره یک فرمت انتخاب کن.
- با PERIOD_DIFF اجرا کن.
- علامت نتیجه را بررسی کن.
- با YYMM هم امتحان کن.
جمع بندی سریع
- خروجی بر حسب ماه است.
- ورودی ها هم فرمت باشند.
- نتیجه می تواند منفی باشد.
- برای افزودن، PERIOD_ADD بهتر است.