테스트 사이트 - 개발 중인 베타 버전입니다

sql질문입니다. 가능할지.. 채택완료

humanb2box 4년 전 조회 2,507

a 테이블에는 open_time, open_minute,close_time, close_minute

4개의 컬럼으로 영업시간이 입력되어있습니다.

 

예를 들면  9,50,23,40 이런식으로 입력되어잇습니다.

 

이것을 30분 단위로 끊어서 카운팅을 할수 잇을까요? 9:50부터 23:40 사이의 갯수입니다. 별도로 00:00 ~ 00:00은 48개가 나옵니다..

 

sql select로 가능할까요?

 

구글링을 하니까 프로시저를 사용하라는것 같은데,, 맞나요? 

 

업체가 여러곳인데 후,,, 어렵네요

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
4년 전

초로 바꿔서 하면 됩니다.

</p>

<p>SELECT ROUND(

        (

          TIME_TO_SEC(CONCAT(close_time, close_minute, "00")) - 

          TIME_TO_SEC(CONCAT(open_time, open_minute, "00"))

        )/60/30

       )</p>

<p>

사족이지만 쿼리나 프로시져로 짜면 이점도 많습니다.

단... 그 쿼리나 프로시져를 100% 이해해야 하지만요 ^^

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

h
humanb2box
4년 전
아 되네요 ㅎㅎ 조금 손보면요 ㅎㅎ 진짜 천재시네요..........
어찌보면 간단한데 프로시져까지 가려했네요..
백수1995
4년 전
DB 에서 해야 될일은 최대한 DB 에서 처리하는게 아무래도 유지보수 측면에서는 좋겠죠

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

쿼리로는 복잡하니

전체 데이터를 가져오고

이후에 반복문에서 조건에 맞게끔 걸러내서

다시 배열로 할당해서 쓰시거나 해야할거 같네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
humanb2box
4년 전
where절에 퍼센트를 넣어야 하거든요,,,,,,,, (영업불가능시간 / 영업시간 * 100) ㅠㅠ

컨트롤러 단에서는 뽑을 수 있는데 ,,

댓글을 작성하려면 로그인이 필요합니다.

꼭 쿼리로 짜서 가져와야하는 이유가 있으신가요?

 

그냥 디비에서 조건값으로 뽑아와서 php로 조건주고 반복문 돌리셔도 될거같은데요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

h
humanb2box
4년 전
where절에 퍼센트를 넣어야 하거든요,,,,,,,, (영업불가능시간 / 영업시간 * 100) = $param ㅠㅠㅜㅜ

컨트롤러 단에서는 뽑을 수 있는데 ,, 하.. 어째야할까요
병원에서일해요
4년 전
최대한 한번에 하면 좋지만 어렵다면
where절 조건도 계산한 다음 다시 쿼리로 던져주는방법을 쓰시는게,,
영업시간가져와고 -> 퍼센트조건 만들어서 다시 쿼리를 날리고 -> 30분단위로 분기

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인