안녕하세요 송병훈 님 😊✨
주석까지 상세한 멋진 코드 공유 주셔서 감사합니당
날짜를 등호로 하면 틀렸다고 하신 말은 WHERE APNT_YMD = '2022-04-13'으로 작성했을 경우 오류임을 말씀 주시는 것 같습니당
의심 가는 부분은 데이터 포맷 때문이 아닐까 싶습니당
APNT_YMD를 출력하면 '2022-01-13 09:00:00'와 같이 연월일 다음에 시분초까지 붙는 것을 알 수 있습니다. 등호 연산자를 사용하시려면 데이터 포멧을 염두에 두어 시,분,초까지 명시해하 할 것 같습니당.
2022-01-13인 경우를 예로 들면
WHERE APNT_YMD = '2022-01-13'를 출력하면 아무것도 나오지 않지만
/*출력 결과
*/
WHERE APNT_YMD = '2022-01-13 09:00:00'를 출력하면 해당 ROW가 출력됨을 알 수 있습니당
/*출력 결과
2022-01-13 09:00:00 */
문제의 조건과 같이 연월일만 염두에 두어 등호 연산자를 사용하고 싶을때는 컬럼을 DATE_FORMAT() MySQL함수를 사용하면 좋을 것 같습니당
(예시. WHERE DATE_FORMAT(APNT_YMD, '%Y-%m-%d') = '2022-01-13'
/* 출력결과
2022-01-13 09:00:00
2022-01-13 09:30:00
2022-01-13 13:30:00
2022-01-13 15:30:00 */
)
작성해 주신 WHERE 절의 LIKE '%'와일드카드의 위치는
'2022-01-13' 뒤에 어떤 시분초가 오든 상관없기 때문에 정답이고
BETWEEN 또한 범위이기 때문에 가능한 것으로 보입니당