Set Time Part Of DateTime
-
Anyone have any idea how to set the time part of an SQL DateTime Field?
ALTER FUNCTION dbo.GetClassDueDate(@DropDate DATETIME, @ClassID UNIQUEIDENTIFIER, @StoreID UNIQUEIDENTIFIER) RETURNS VARCHAR(50) AS BEGIN DECLARE @OutDate DATETIME DECLARE @TimeIn DATETIME DECLARE @NumDays SMALLINT DECLARE @DayOfWeek SMALLINT DECLARE @Ret VARCHAR(50) DECLARE @Drop DATETIME --drop needs to be the current drop, with time set to 17:00:00 SET @Drop = SELECT @TimeIn = CAST(TimeIn AS DATETIME), @NumDays = NumDays, @DayOfWeek = DayOfWeek FROM tblClass WHERE ID = @ClassID AND StoreID = @StoreID IF (DATEPART(HOUR,@TimeIn) >= DATEPART(HOUR,@DropDate)) AND (DATEPART(MINUTE,@TimeIn) > DATEPART(MINUTE,@DropDate)) BEGIN SET @OutDate = DATEADD(DAY, (@NumDays + 1), @DropDate) END ELSE BEGIN SET @OutDate = DATEADD(DAY, @NumDays, @DropDate) END IF NOT @DayOfWeek > 0 BEGIN WHILE dbo.IsWorkDay(@OutDate, @StoreID) = 0 BEGIN SET @OutDate = DATEADD(DAY, 1, @OutDate) END END ELSE BEGIN CheckDayOff: WHILE dbo.IsWorkDay(@OutDate, @StoreID) = 0 BEGIN SET @OutDate = DATEADD(DAY, 1, @OutDate) END IF DATEPART(WEEKDAY, @OutDate) = @DayOfWeek BEGIN SET @OutDate = DATEADD(DAY, 1, @OutDate) GOTO CheckDayOff END END RETURN CAST(DATEPART(MONTH, @OutDate) AS VARCHAR(2)) + '/' + CAST(DATEPART(DAY, @OutDate) AS VARCHAR(2)) + ' ' + SUBSTRING(CAST(DATENAME(WEEKDAY, @OutDate) AS VARCHAR(10)),1,3) END
Apparently it's not OK to start a bonfire of Microsoft products in the aisles of CompUSA even though the Linuxrulz web site says so