Σημερα μου ζήτησαν έναν εύκολο τρόπο να μετατρέπουμε μια ημ/νία στην ίδια ημερολογιακή, ένα λεπτό πριν τα μεσάνυχτα. Δεν είναι τίποτα ιδιαίτερο, όμως αν χρησιμεύει σε κανέναν (για να μην καθεται να το ξαναγράφει), ορίστε:
| |
CREATE FUNCTION [dbo].[getOneSecondToMidnightDate] (@dtStart datetime)RETURNS datetime AS BEGIN
declare @dtresult datetimedeclare @dtstartmin intdeclare @dtstartsec intdeclare @dtstarthour intdeclare @dtstartmil int select @dtstartmin = -datepart(minute, @dtstart)select @dtstartsec = -datepart(second, @dtstart)select @dtstarthour = -datepart(hour, @dtstart)select @dtstartmil = -datepart(millisecond, @dtstart)select @dtresult = dateadd(hour, @dtstarthour, dateadd(minute, @dtstartmin, dateadd(second, @dtstartsec, dateadd(millisecond, @dtstartmil, @dtstart))))select @dtresult =dateadd(day, 1, dateadd(second, -1, @dtresult)) return @dtresult END
|
Σωτήρης Φιλιππίδης
DotSee Web Services