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


گرد کردن تایم به نزدیک ترین فاصله زمانی در SQL Server

گرد کردن تایم به نزدیک ترین فاصله زمانی در SQL Server
در این مطلب کوتاه قصد داریم در SQL Server اسکریپتیرا در اختیار شما دوستان قرار دهیم تا زمان بر اساس دقیقه ای که از آن عبور می کند به سمت بالا یا پایین گرد یا رند کند. نحوه ایجاد یک تابع برای گرد کردن زمان به نزدیکترین فاصله دقیقه ای را در ادامه مشاده خواهید کرد.

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



CREATE FUNCTION [dbo].[RoundTime] (@Time DATETIME, @RoundToMin INT)
RETURNS DATETIME
AS
BEGIN
RETURN ROUND(CAST(CAST(CONVERT(VARCHAR,
@Time,121) AS DATETIME) AS FLOAT) * (1440/@RoundToMin),0)/(1440/@RoundToMin)
END
GO
GO

Function بالا به دو تابع نیاز دارد. 1) زمانی که باید به بالا یا پایین گرد شود. 2) زمان در دقیقه(مقدار پاس داده شده در اینجا باید بین 0 تا 60 باشد - اگر مقدار نادرست باشد ، نتایج نادرست خواهند بود.) function فوق را با افزودن قابلیت هایی مانند پذیرش مقادیری مانند مانند ربع ساعت ، نیم ساعت و غیره افزایش داد.
حال به مثال های زیر که از function بالا استفاده می کند، توجه کنید:

SELECT dbo.roundtime('17:29',30)
SELECT dbo.roundtime(GETDATE(),5)
SELECT dbo.roundtime('2012-11-02 07:27:07.000',15)

خروجی کوئری های فوق مقادیری که در تصویر زیر مشاهده می کنید خواهد بود:

گرد کردن تایم به نزدیک ترین فاصله زمانی در SQL Server
اگر روش های دیگری را می شناسید لطفا در قسمت ثبت نظرات آن را با ما و سایر دوستانتان در وب سایت در قسمت ثبت دیدگاه ها به اشتراک قرار دهید.


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

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

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


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