DATEPART (DATEPART)
تابع DATEPART در SQL Server بخشی از تاریخ را می دهد. خروجی «عددی (Integer)» است. بنابراین می توانی سال، ماه، یا ساعت را به عدد بگیری.
تعریف و کاربرد ساده
DATEPART یک «واحد زمانی (Interval)» از تاریخ را برمی گرداند؛ مثلاً سال، ماه، یا دقیقه. چون خروجی عددی است، برای محاسبات و فیلترها عالی است.
سینتکس (Syntax)
سینتکس یعنی شکل نوشتن دستور. این تابع دو ورودی دارد: واحد و تاریخ.
DATEPART(interval, date)
مثال 1: سال به صورت عدد
سال تاریخ را عددی می گیریم. برای گروه بندی سالانه مناسب است.
SELECT
DATEPART(year, '2017/08/25') AS DatePartInt;
مثال 2: سال با مخفف yy
می توانی از مخفف ها هم استفاده کنی. خروجی همچنان عدد است.
SELECT
DATEPART(yy, '2017/08/25') AS DatePartInt;
مثال 3: ماه به صورت عدد
عدد ماه را می گیریم. برای نمودارهای ماهانه کاربردی است.
SELECT
DATEPART(month, '2017/08/25') AS DatePartInt;
مثال 4: ساعت
ساعت را عددی می گیریم. برای تحلیل ترافیک ساعتی مناسب است.
SELECT
DATEPART(hour, '2017/08/25 08:36') AS DatePartInt;
مثال 5: دقیقه
این بار دقیقه را عددی برمی گردانیم. برای رخدادها لازم است.
SELECT
DATEPART(minute, '2017/08/25 08:36') AS DatePartInt;
واحدهای مجاز و انواع ورودی
واحدها: year|yyyy|yy، quarter|qq|q، month|mm|m، dayofyear|dy|y، day|dd|d، week|ww|wk، weekday|dw|w، hour|hh، minute|mi|n، second|ss|s، millisecond|ms، microsecond|mcs، nanosecond|ns، tzoffset|tz، iso_week|isowk|isoww. انواع تاریخ: date، datetime، datetimeoffset، datetime2، smalldatetime، یا time.
نکات فنی و ارتباط با توابع دیگر
نوع خروجی int است و در SQL Server 2008 به بعد پشتیبانی می شود. برای خروجی متنی، از DATENAME استفاده کن. برای اختلاف زمانی، DATEDIFF کاربرد دارد. همچنین صفحه تابع DATEPART را بوکمارک کن.
گام های عملی
- یک تاریخ نمونه انتخاب کن.
- واحد مناسب را تعیین کن؛ مثل
month. - DATEPART را اجرا کن و عدد خروجی را استفاده کن.
جمع بندی سریع
- DATEPART بخش تاریخ را عددی می دهد.
- برای فیلتر و گروه بندی عالی است.
- واحدهای بسیار متنوعی دارد.
- برای متن، از DATENAME کمک بگیر.