등록한 날짜가 오늘을 기준으로 4일(12:00AM) 이 지났다면 '초과'를 지나지 않았다면 '정상'을 보여줍니다.
등록한 날짜가 12시(AM)를 넘었다면 등록한 날짜를 포함하지 않고, 12시(AM)을 넘기지 않았다면 등록한 날짜를 포함하여 4일을 체크합니다.
case1.
등록한 날짜가 2023.02.01 11:00 이라면 --(등록날짜가 12:00(AM)이전 이므로 등록한 날짜 포함하여 4일을 체크)
~ 2023.02.05 12:00 는 정상
2023.02.05 12:01 ~ 는 초과
case2.
등록한 날짜가 2023.02.01 12:01 이라면 --(등록날짜가 12:00(AM)이후 이므로 등록한 날짜 다음날부터 4일을 체크)
~ 2023.02.06 12:00 는 정상
2023.02.06 12:01 ~ 는 초과
--------------------------------------------------------------------------------------------------------
오늘을 기준으로 4일이 지난 글들에 대해서 '초과' '정상'을 나누어서 데이터를 보여주려고해요..
등록한 날짜는 12시(am)를 기준으로 등록한 날짜를 체크 4일에 포함을 할 것인지 아닌지를 구분하고,
4일 뒤 날짜의 12시(am) 까지는 '정상', 12시(am) 이후는 '초과' 를 보여주어야 합니다..
-----------------------------------------------------------------------------------------------------------------
case when 절을 사용하려고 했는데,
시간이 들어가서 문구가 굉장히 길어졌습니다..
확신이 없어서 질문 올립니다.
답변 부탁드립니다!
WITH t AS ( SELECT GETDATE() reg_dt UNION ALL SELECT '2023-02-12 11:59:00' UNION ALL SELECT '2023-02-12 12:00:00' UNION ALL SELECT '2023-02-12 12:01:00' UNION ALL SELECT '2023-02-13 11:59:00' UNION ALL SELECT '2023-02-13 12:00:00' UNION ALL SELECT '2023-02-13 12:01:00' ) SELECT reg_dt , CASE WHEN reg_dt < DATEADD(HOUR, -24*4+12, CAST(CAST(DATEADD(HOUR, 12, GETDATE()) AS DATE) AS DATETIME)) THEN '초과' ELSE '정상' END chk FROM t ;