خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


استفاده از تابع ()MONTH در SQL Server

استفاده از تابع ()MONTH در SQL Server
در SQL Server می توانید از تابع MONTH برای برگرداندن قسمت "ماه" یک تاریخ استفاده کنید. خروجی این تابع یک عدد صحیح خواهد بود که نشان دهنده عدد ماه است (نه نام ماه). Syntax استفاده از این تابع بصورت زیر می باشد:

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



MONTH( date )

به جای date می توانید مقادیری از انواع دیتاتایپ های زیر را وارد کنید:

date
datetime
datetimeoffset
datetime2
smalldatetime
time

در ادامه با مثالهایی بصورت عملی با طرز کار و نحوه استفاده این تابع بیشتر آشنا خواهید شد.

SELECT
SYSDATETIME() AS 'Date',
MONTH(SYSDATETIME()) AS 'Month';

+-----------------------------+---------+
| Date | Month |
|-----------------------------+---------|
| 2018-06-18 00:39:06.7954314 | 6 |
+-----------------------------+---------+

بنابراین تابع MONTH توانست عدد ماه را از مقدار datetime2 استخراج کند (که توسط تابع SYSDATETIME بازگردانده شد).
در مثال زیر با اینکه تاریخ به صورت یک رشته ولی به طور صحیح درج شده، باز هم تابع MONTH می تواند عدد ماه را این رشته بیرون کشیده و دستور Select آن را نمایش دهد.

SELECT MONTH('2019-01-07') AS Result;

+----------+
| Result |
|----------|
| 1 |
+----------+

در مثال زیر، تاریخ با فرمت دیگری درج شده است:

SELECT MONTH('07/01/2017') AS Result;

+----------+
| Result |
|----------|
| 7 |
+----------+

با این حال، بهتر است از استفاده تاریخ در چنین فرمت هایی خودداری کنید. اگر که باید این کار را انجام دهید، باید مراقب تنظیمات زبان و یا تنظیمات فرمت تاریخ Session جاری باشید.
خروجی مثال قبلی به تنظیمات زبان و یا تنظیمات فرمت تاریخ Session فعلی بستگی دارد. وقتی زبان را تنظیم می کنیم(تغییر دهیم)، فرمت تاریخ هم به طور ضمنی تنظیم می شود. وقتی زبان را British تنظیم کنیم، خروجی متفاوتی نسبت به زمانی که آمریکایی تنظیم کنیم، دریافت خواهیم کرد با اینکه هر دو کوئری مشابه هم هستند:

SET LANGUAGE British;
SELECT MONTH('07/01/2017') AS Result;

+----------+
| Result |
|----------|
| 1 |
+----------+

SET LANGUAGE us_English;
SELECT MONTH('07/01/2017') AS Result;

+----------+
| Result |
|----------|
| 7 |
+----------+

تنظیمات فرمت تاریخ می تواند تنظیمات زبان را نادیده بگیرد، بنابراین شما باید از این تنظیم مطلع باشید. به عنوان مثال، ما می توانیم از us_English برای زبان خود (که دارای فرمت تاریخ پیش فرض mdy است) استفاده کنیم، اما می توانیم فرمت تاریخ را dmy کنیم. لطفا به کوئری فوق و خروجی آن دقت کنید.
در اینجا ، ما زبان را به us_English تنظیم کردیم(که صراحتا این زبان، فرمت تاریخ مربوط به خود را تنظیم می کند) ، سپس فرمت تاریخ را بصورت dmy قرار می دهیم.

SET LANGUAGE us_English;
SET DATEFORMAT dmy;
SELECT MONTH('07/01/2017') AS Result;

+----------+
| Result |
|----------|
| 1 |
+----------+



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز