[sql] DateTime에서 시간 추출 (SQL Server 2005)

Day(Date()), 을 사용하여 월과 일을 추출 할 수 있습니다 Month(Date()). 로 시간을 추출 할 수 없습니다 HOUR(Date()). 다음과 같은 오류가 발생합니다.

'HOUR' is not a recognized built-in function name.

시간을 어떻게 추출 할 수 있습니까?



답변

SELECT DATEPART(HOUR, GETDATE());

DATEPART 선적 서류 비치


답변

… 어떤 입도 유형에서도 사용할 수 있습니다.

DATEPART(YEAR, [date])

DATEPART(MONTH, [date])

DATEPART(DAY, [date])

DATEPART(HOUR, [date])

DATEPART(MINUTE, [date])

(참고 : 날짜 예약어 주위에 []가 마음에 듭니다. 물론 타임 스탬프가있는 열에 ‘날짜’라고 표시되어있는 경우)


답변

datepart를 사용하십시오 .

예 :

datepart(hh, date)


답변

이것도 시도하십시오 :

   DATEPART(HOUR,GETDATE()) 


답변

DATEPART(HOUR, [date]) 군사 시간으로 시간을 반환합니다 (00 ~ 23) 1AM, 3PM 등을 원할 경우 시간을 표시해야합니다.

SELECT Run_Time_Hour =
CASE DATEPART(HOUR, R.date_schedule)
    WHEN 0 THEN  '12AM'
    WHEN 1 THEN   '1AM'
    WHEN 2 THEN   '2AM'
    WHEN 3 THEN   '3AM'
    WHEN 4 THEN   '4AM'
    WHEN 5 THEN   '5AM'
    WHEN 6 THEN   '6AM'
    WHEN 7 THEN   '7AM'
    WHEN 8 THEN   '8AM'
    WHEN 9 THEN   '9AM'
    WHEN 10 THEN '10AM'
    WHEN 11 THEN '11AM'
    WHEN 12 THEN '12PM'
    ELSE CONVERT(varchar, DATEPART(HOUR, R.date_schedule)-12) + 'PM'
END
FROM
    dbo.ARCHIVE_RUN_SCHEDULE R


답변

이것도 시도하십시오 :

SELECT CONVERT(CHAR(8),GETDATE(),108)


답변

select case when [am or _pm] ='PM' and datepart(HOUR,time_received)<>12
           then dateadd(hour,12,time_received)
           else time_received
       END
from table

공장