새소식

mySQL

[MySQL] 정복하기 | 원하는 조건 + 날짜의 데이터를 추출하기 (시간값 빼고 날짜만 가져오기, WHERE 절, LIKE, AND)

  • -

일단 내가 보고 싶었던 것은
'product' 컬럼에 'A'를 포함하는 데이터의 '2023-06-11' 날짜의
고객ID, 옵션값, 제품구매수량, 구매가격 이었다
 
그래서 아래처럼 작성하여 추출했음

SELECT customer_ID, `option`, quantity, price
FROM '스키마.테이블명'
WHERE product LIKE '%A%' AND order_date = '2023-06-11';

근데 왜일까

깨끗한 백지만 내 눈에 보인다 처음엔 착한 사람에게만 이렇게 보이는갑다 %^^^ 싶었지만
그냥 바보의 SQL 결과값이었음 응..
분명 조건절은
WHERE을 사용하여 'product'가 'A'를 포함하는 조건을 걸어줬다 이건 확실히 맞음

WHERE product LIKE '%A%'

%를 사용하여 앞뒤로 브랜드명이나 옵션명이 있는 것 까지 포함해줘서 필터를 걸어줬단 말이다!

output도 잘 되었다면서 이쁜 체크박스를 띄웠는데,,,
뭐가 잘못된건가 싶어 raw데이터의 주문날짜 컬럼을 살펴보았더니

어디서부터인지는 모르겠지만 어떤 날짜는 시간값을 뺀 날짜값만 있고,
어떤 날짜는 시간값을 포함된 날짜값으로 나열되어 있었음
날짜값을 불러왔는데, 시간값이 있으니 추출이 제대로 되질 않겠구나 싶어서
날짜값만 추출하는 함수를 걸어줌 그것은 바로 DATE !
 

SELECT customer_ID, `option`, quantity, price
FROM '스키마.테이블명'
WHERE product LIKE '%A%' AND DATE(order_date) = '2023-06-11';

다른 거 바꾼 것 없이 AND order_date 를 AND DATE(order_date)로만 변경해줬더니
자연스레 원하는 데이터가 추출되었다 ~!

Contents

포스팅 주소를 복사했어요 깨굴!

도움이 되셨다면 공감 부탁드려요 깨굴!