DATENAME (DATENAME)
تابع DATENAME در SQL Server بخش خاصی از تاریخ را برمی گرداند. خروجی به صورت «رشته (String)» است؛ یعنی متن. بنابراین می توانی نام ماه یا روز را مستقیم نمایش بدهی.
تعریف و کاربرد ساده
با DATENAME بخشی از تاریخ را انتخاب می کنی؛ مثل سال یا ماه. سپس همان بخش به صورت متن برمی گردد. این برای گزارش ها و رابط کاربری بسیار خوب است.
سینتکس (Syntax)
سینتکس یعنی شکل نوشتن دستور. این تابع دو ورودی می گیرد: واحد و تاریخ.
DATENAME(interval, date)
مثال 1: نام سال
نام بخش سال را می خواهیم. خروجی متنی است، نه عددی.
SELECT
DATENAME(year, '2017/08/25') AS DatePartString;
مثال 2: نام سال با مخفف yy
می توانی از مخفف ها نیز استفاده کنی. نتیجه همچنان رشته است.
SELECT
DATENAME(yy, '2017/08/25') AS DatePartString;
مثال 3: نام ماه
نام ماه را می گیریم. برای فیلدهای نمایشی عالی است.
SELECT
DATENAME(month, '2017/08/25') AS DatePartString;
مثال 4: ساعت
ساعت را به صورت رشته می گیریم. برای گزارش رویداد مناسب است.
SELECT
DATENAME(hour, '2017/08/25 08:36') AS DatePartString;
مثال 5: دقیقه
این بار بخش دقیقه را رشته ای برمی گردانیم.
SELECT
DATENAME(minute, '2017/08/25 08:36') AS DatePartString;
ورودی ها و واحدهای مجاز
برای interval از این ها استفاده کن: year|yyyy|yy، quarter|qq|q، month|mm|m، dayofyear، day|dy|y، week|ww|wk، weekday|dw|w، hour|hh، minute|mi|n، second|ss|s، millisecond|ms.
نکات فنی و سازگاری
نوع خروجی nvarchar است. این تابع در SQL Server 2008 و بالاتر، Azure SQL Database، Azure SQL Data Warehouse و Parallel Data Warehouse کار می کند.
نکته: اگر خروجی عددی می خواهی، از DATEPART استفاده کن. همچنین برای اختلاف زمان، تابع DATEDIFF را ببین.
گام های عملی
- تاریخ نمونه را مشخص کن.
- واحد مناسب مثل
monthرا تعیین کن. - دستور
DATENAMEرا اجرا کن. - رشته خروجی را در گزارش نمایش بده.
جمع بندی سریع
- DATENAME خروجی متنی می دهد.
- واحدهای زمانی زیادی پشتیبانی می شود.
- برای UI و گزارش مناسب است.
- برای عدد، از DATEPART کمک بگیر.