잡다한 기능들/DB

MS-SQL 시간 함수에서 데이터 뽑기

철매존 2021. 8. 5. 10:29
728x90

DB를 사용할 때 원하는 년/월/일/시/분/초/요일 을 구하고 싶은 경우가 종종 있는데, 이 때에 DATEPART를 사용하면 쉽게 구할 수 있다.

 

간단히 

 

DATEPART(구하고 싶은 시간타입, 입력)

 

여기 구하고 싶은 시간타입에

년      : YEAR 

월      : MONTY 

일      : DAY

시      : HOUR

분      : MINUTE

초      : SECOND

요일   : DW <- 일(1) 월(2) 화(3) 수(4) 목(5) 금(6) 토(7) 로 출력된다.

이렇게 하면 구할 수 있다.

 

 

예를 들어 오늘이 며칠인지 구하고 싶으면

SELECT

      DATEPART(DAY, GETDATE())

AS 'today'

이렇게 하면 구할 수 있다.

 

또, 페이지를 운영할 때에 어떤 시간대에 사람이 많이 오는지를 구하고 싶다면

( visit 테이블의 , PK idx , 방문시간 visit_time 라고 가정하면 )

SELECT

    DATEPART(HOUR, visit_time) AS 'hour'

  , COUNT(idx) AS 'cnt' FROM visit

GROUP BY DATEPART(HOUR, visit_time)

ORDER BY 'cnt' DESC
이런 식으로 하면 가장 사람이 많이 방문하는 시간부터 차례대로 구할 수 있을 것이다.