특정시간 구하는 쿼리 질문합니다.. 0 3 4,942

by 쿼리잘짜고싶어요 [SQL Query] [2024.04.30 17:53:56]


안녕하세요. 고생이 많으십니다. 시간관련하여 질문을 하려고 합니다.

특정기간에 특정시간(점심) 12:00 ~ 13:00 가 포함된 값을 구하고 싶습니다.

우선 쿼리는 이런식으로 짰는데 결과값이 맞지 않는거 같아서.. 한번 봐주시면 감사하겠습니다.

SELECT *
FROM TABLE
WHERE 시작일자 >= TO_DATE('2024-01-01', 'YYYY-MM-DD')
AND 종료일자 <= TO_DATE('2024-04-30', 'YYYY-MM-DD') + 0.99999
AND ((시작시분 BETWEEN '1200' AND '1300') OR (종료시분 BETWEEN '1200' AND '1300'))

 

아래는 테이블구조 및 데이터 예시입니다.

모두 다 VARCHAR 타입입니다.

시작일자 시작시분 종료일자 종료시분
20240425 0900 20240425 1500
20240424 1000 20240424 1500
20240424 1300 20240424 1700
20240423 1200 20240423 1400
20240423 0800 20240423 1200
20240423 1230 20240423 1830
20240422 1000 20240422 1200
by 마농 [2024.04.30 17:59:18]

시작일과 종료일이 다를 수 있나요? 항상 당일인지?
예시 자료에는 그런 예는 안보이네요.
(예 : 오늘저녁 7시부터 내일 아침 10시까지)


by 쿼리잘짜고싶어요 [2024.04.30 19:56:04]

항상 당일입니다.


by 마농 [2024.05.01 01:14:27]
SELECT *
  FROM t
 WHERE 시작일자 BETWEEN '20240101' AND '20240430'
   AND 시작시분 < '1300'
   AND 종료시분 > '1200'
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입