[sql] 특정 날짜와 시간을 가장 가까운 이전 시간으로 조정하는 함수
우선, 다음과 같이 get_previous_time
함수를 작성합니다.
CREATE FUNCTION get_previous_time(@inputDate DATETIME)
RETURNS DATETIME
AS
BEGIN
DECLARE @previousTime DATETIME;
WITH CTE_PreviousTime AS (
SELECT TOP 1 TimeColumn
FROM YourTable
WHERE TimeColumn < @inputDate
ORDER BY TimeColumn DESC
)
SELECT @previousTime = TimeColumn
FROM CTE_PreviousTime;
RETURN @previousTime;
END
위의 코드에서 @inputDate
는 기준이 되는 특정 날짜와 시간을 나타내며, YourTable
과 TimeColumn
은 데이터베이스의 테이블과 시간 컬럼에 대한 것으로 적절하게 변경해야 합니다.
이제 함수를 호출하여 특정 날짜와 시간에 대해 가장 가까운 이전 시간을 얻을 수 있습니다.
SELECT dbo.get_previous_time('2023-11-15 14:30:00') AS PreviousTime;
이렇게 하면 특정 날짜와 시간을 인수로 전달하여 해당 날짜 및 시간 이전의 가장 가까운 시간을 얻을 수 있습니다.
참고 문헌:
- https://docs.microsoft.com/en-us/sql/t-sql/statements/create-function-transact-sql