다음의 값으로 배달시간이 늦었는지 판단하는 값을 만들어 보았다.
- 주중 : 25분 이상
- 주말 : 30분 이상
select order_id, fo.restaurant_name , day_of_the_week, fo.delivery_time , case when day_of_the_week='weekday' and delivery_time>=25 then 'Late' when day_of_the_week='weekday' and delivery_time<25 then 'On-time' when day_of_the_week='weekend' and delivery_time>=30 then 'Late' when day_of_the_week='weekend' and delivery_time<30 then 'On-time' end "지연여부" from food_orders fo
내가 작성한 SQL문에는 case 함수를 4줄로 나타냈지만 Late를 결과값으로 하는 2줄을 제외한 나머지를 else를 사용하면 길이를 더 줄일 수 있는걸 나중에 알게되었다.
case when day_of_the_week='weekday' and delivery_time>=25 then 'Late' when day_of_the_week='weekend' and delivery_time>=30 then 'Late' else 'On-time' end "지연여부"이렇게 더 짧게 작성도 가능하다