توابع DateTime در Sql Server 2012

شنبه 30 آبان 1394

Sql Server 2012 برخی از تابع تاریخ و زمان را معرفی کرده است. در این مقاله در مورد این که چگونه این توابع جدید مورد استفاده قرار میگیرند صحبت میکنیم.

توابع DateTime  در Sql Server 2012

Sql Server 2012 برخی از تابع تاریخ و زمان را معرفی کرده است. در این مقاله در مورد این که چگونه این توابع جدید مورد استفاده قرار میگیرند صحبت میکنیم.

در زیر  لیستی از توابع جدید تاریخ و زمان را در sql server مشاهده میکنید.

DATEFROMPARTS

TIMEFROMPARTS

DATETIMEFROMPARTS

DATETIME2FROMPARTS

SMALLDATETIMEFROMPARTS

DATETIMEOFFSETFROMPARTS

EOMONTH

تابع DATEFROMPARTS

این تابع مقدار تاریخ را در بخش های مختلف سال ، ماه و روز نشان میدهد. و قسمت زمان به طور پیش فرض تنظیم میکند.

DECLARE @YEAR INT = 2012,   
@MONTH INT = 1,   
@DAY INT = 1   
  
SELECT DATEFROMPARTS (@YEAR, @MONTH, @DAY) AS [Result]

نمایش خروجی

تابع TIMEFROMPARTS

این تابع مقدار زمان را به صورت Query برمی گرداند. این مهمه که به این نکته توجه داشته باشیم که مقدار زمان ی که بر میگرداند وابسته به دقت ورودی است که به ان داده می شود.

برای مثال:

هنگامی که کسری یک مقدار 5 بدهیم و ارزشی به دقت یک ، پس از ان ارزش کسر نشان دهنده پنج دهم در یک ثانیه  است.

هنگامی که کسری یک مقدار 50 و دقت 2 داشته باشد مقدار کسر نشان داده شده پنجاه صدم در یک ثانیه است.

هنگامی که کسری مقدار 500 و مقدار دقت ان 3 باشد مقدار کسر پانصد هزارم در یک ثانیه است

DECLARE @HOUR INT = 11,   
@MINUTE INT = 59,   
@SECONDS INT = 59   
  
SELECT TIMEFROMPARTS (@HOUR, @MINUTE, @SECONDS, 500, 3) AS [Result]  

نمایش خروجی

 

تابع DATETIMEFROMPARTS

این تابع مقدار DateTime را به صورت کامل در نتیجه جستجو برمیگرداند.

DECLARE @YEAR INT = 2012,   
@MONTH INT = 1,   
@DAY INT = 9,   
@HOUR INT = 11,   
@MINUTE INT = 59,   
@SECONDS INT = 59,   
@MILLISECONDS INT = 0   
  
SELECT DATETIMEFROMPARTS (@YEAR, @MONTH, @DAY, @HOUR, @MINUTE, @SECONDS, @MILLISECONDS) AS [Result]   

نمایش خروجی

تابع DATETIME2FROMPARTS

این تابع مقدار DateTime2 را در نتیجه جستجو به صورت کامل برمیگرداند.

DECLARE @YEAR INT = 2012,   
@MONTH INT = 1,   
@DAY INT = 1,   
@HOUR INT = 11,   
@MINUTE INT = 59,   
@SECONDS INT = 59   
  
SELECT DATETIME2FROMPARTS (@YEAR, @MONTH, @DAY, @HOUR, @MINUTE, @SECONDS, 500, 3) AS [Result]   

نمایش خروجی

تابع SMALLDATETIMEFROMPARTS

این تابع مقدار smalldatetime را در نتیجه جستجو بر میگرداند.

DECLARE @YEAR INT = 2012,   
@MONTH INT = 1,   
@DAY INT = 1,   
@HOUR INT = 11,   
@MINUTE INT = 59   
  
SELECT SMALLDATETIMEFROMPARTS (@YEAR, @MONTH, @DAY, @HOUR, @MINUTE) AS [Result] 

تابع DATETIMEOFFSETFROMPARTS

یک نوع داده کامل  datetimeoffset را در نتیجه پرس و جو بر میگرداند. ارگومان Offset(انحراف) اساسا برای  time zone (منطقه زمانی)  مورد استفاده قرار میگیرد

DECLARE @YEAR INT = 2012,   
@MONTH INT = 1,   
@DAY INT = 1,   
@HOUR INT = 11,   
@MINUTE INT = 59,   
@SECONDS INT = 59   
  
SELECT DATETIMEOFFSETFROMPARTS (@YEAR, @MONTH, @DAY, @HOUR, @MINUTE, @SECONDS, 500, 5, 30, 3) AS [Result]   

تابع EOMONTH

این تابع تاریخ و زمان اخرین ماه را براساس تاریخ محاسبه میکند.

DECLARE @STARTDATE DATETIME = GETDATE()  
  
SELECT EOMONTH (@STARTDATE) AS [Last Date of Month]  

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید