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


تابع ()SYSDATETIME در SQL Server

تابع ()SYSDATETIME در SQL Server
در SQL Server تابع SYSDATETIME تاریخ و زمان فعلی را به صورت (7)datetime2 برمی گرداند. در این پست مثال هایی از تابع () SYSDATETIME گردآوری شده است، از جمله اینکه چگونه می توانید از آن با سایر توابع برای بازگرداندن مقداری که به آن علاقه دارید استفاده کنید.

سیستم یکپارچۀ سازمانی راهکار
که به آن علاقه دارید استفاده کنید.


Syntax استفاده از تابع SYSDATETIME به صورت زیر می باشد:

SYSDATETIME ( )

همانطور که مشاهده می کنید، تابع مذکور نیاز به هیچ پارامتری ندارد و به همان صورت می توانید از آن استفاده کنید.
در SELECT زیر با استفاده از تابع SYSDATETIME، ساعت و تاریخ فعلی سیستم را مشاهده خواهید کرد:

SELECT SYSDATETIME() AS Result;

+-----------------------------+
| Result |
|-----------------------------|
| 2018-06-15 23:09:13.5852199 |
+-----------------------------+

همانطور که پیشتر هم گفته شد، خروجی تابع مذکور بصورت (7)datetime2 خواهد بود. datetime2 جزئیات بیشتری از تاریخ را در خروجی به شما نمایش میدهد.
اگر فقط بخشی از مقدار برگشتی مد نظر شماست، می توانید با استفاده از DATEPART فقط آن قسمت از تاریخ / ساعت مورد نظر خود را برگردانید..

SELECT DATEPART(month, SYSDATETIME()) AS Result;

+----------+
| Result |
|----------|
| 6 |
+----------+

بعضا برای دستیابی به یک نتیجه یکسان، بیش از یک راه وجود دارد. همین خروجی فوق را با استفاده از تابع MONTH هم می توانید بدست بیاورید:

SELECT MONTH(SYSDATETIME()) AS Result;

+----------+
| Result |
|----------|
| 6 |
+----------+

هر دوی این توابع می توانند ماه جاری را برگرداندند ولی ماه را با عدد ماه نمایش می دهند. برای نمایش نام ماه می توانید از تابع DATENAME استفاده کنید:

SELECT DATENAME(month, SYSDATETIME()) AS Result;

+----------+
| Result |
|----------|
| June |
+----------+


همچنین می توانید از دیگر توابع T-SQL برای فرمت کردن تاریخ در صورت لزوم استفاده کنید. در اینجا مثالی از استفاده ی تابع FORMAT برای فرمت کردن Result وجود دارد:

SELECT
FORMAT(SYSDATETIME(), 'd', 'en-US') AS 'd, en-US',
FORMAT(SYSDATETIME(), 'd', 'en-gb') AS 'd, en-gb',
FORMAT(SYSDATETIME(), 'D', 'en-US') AS 'D, en-US',
FORMAT(SYSDATETIME(), 'D', 'en-gb') AS 'D, en-gb';

+------------+------------+-----------------------+--------------+
| d, en-US | d, en-gb | D, en-US | D, en-gb |
|------------+------------+-----------------------+--------------|
| 6/15/2018 | 15/06/2018 | Friday, June 15, 2018 | 15 June 2018 |
+------------+------------+-----------------------+--------------+



برای نمایش تفاوت بین تاریخ فعلی و تاریخی دیگر می توانید از توابعی مانند DATEDIFF استفاده کنید. در این مثال با استفاده از تابع DATEADD، یک ماه به تاریخ فعلی اضافه می کنیم و سپس تفاوت تاریخ فعلی با آن تاریخ را بر حسب روز مشاهده می کنیم:

DECLARE @date1 datetime2 = SYSDATETIME();
DECLARE @date2 datetime2 = DATEADD(month, 1, SYSDATETIME());
SELECT DATEDIFF(day, @date1, @date2) AS Result;

+----------+
| Result |
|----------|
| 30 |
+----------+


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

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

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


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