FreeMyMind
72
2021-12-07 15:34:07 작성 2021-12-07 15:34:52 수정됨
5
228

DB로 24시간을 출력할 수 있을까요?


안녕하세요 초보개발자입니다..


DB로 24시간을 출력할 수 있을까요?


예를들면 

select '09:00' as 9 , '10:00' as 10 .....

이런식으로 쿼리를 짜면


결과 : 

09:00
10:00

11:00

12:00

13:00

.....


뭐 대충 이런 식으로 나오겠죠?


근데 저렇게 일일히 말고 db 내장된 함수?로 00:00~ 24:00 시간을 


깔끔하게 뽑아낼 수있는 방법이 없을까요??


postgresql 사용 중입니다 ㅠㅠ





0
  • 답변 5

  • basscraft
    3k
    2021-12-07 15:41:04

    아무거나 결과가 24개 이상 있는 테이블과 조인하시면 되겠네요.

  • 나후나
    401
    2021-12-07 15:41:57

    함수형식으로 뭔가를 하고싶으시면 postgresql procedure검색해보세요

  • Garion
    1k
    2021-12-07 15:54:46

    질문 자체가 이해가 잘 안되긴한데

    날짜 형식을 지정해서 쓰고자 하신다면

    https://lslagi.tistory.com/18

    dateformat 키워드를 참고해서 검색해보시길..

  • FreeMyMind
    72
    2021-12-07 16:10:33 작성 2021-12-07 16:12:03 수정됨

    허접한 글읽고 위에 답변주신분들 감사합니다. ㅎㅎ


    단순하게 00:00 ~ 23:00 까지 쿼리로 뽑는거 였는데


    해결했습니다!


    postgresql 에서  generate_series 사용하면 가능하더라구요!


    SELECT to_char(generate_series( TO_CHAR(NOW(),'YYYYMMDD 00:00')::timestamp, TO_CHAR(NOW(),'YYYYMMDD 23:00')::timestamp, '1 hours'),'HH24:MI');




  • HJOW
    4k
    2021-12-07 16:43:35 작성 2021-12-07 16:44:11 수정됨

    하루 내 시간의 리스트를 쿼리로 뽑고 싶으셨던 것 같습니다.

    postgreSQL은 그렇게 쓰셔도 되는데


    사실 다른DB도 간단합니다.

    시간조회 전용 테이블 만들어서 그 안에 시간 데이터 넣어놓고 쓰시면 됩니다.

    (이렇게 쓰는 곳 많습니다. 그리고 MS SQL Server 는 반복작업을 위한 테이블이 자동으로 생성되어 있죠.)

    그리고 현명한 방법이기도 합니다. 매번 계산할 필요가 없으니까요.

  • 로그인을 하시면 답변을 등록할 수 있습니다.