source

Date Time에서 시간 추출(SQL Server 2005)

gigabyte 2023. 4. 9. 21:33
반응형

Date Time에서 시간 추출(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(hh, date)

이것도 시도해 보세요.

   DATEPART(HOUR,GETDATE()) 

DATEPART() 함수는 년, 월, 일, 시간, 분 등 날짜/시간의 단일 부분을 반환하기 위해 사용됩니다.

datepart    ***Abbreviation

year        ***yy, yyyy 
quarter     ***qq, q 
month       ***mm, m 
dayofyear   ***dy, y 
day         ***dd, d 
week        ***wk, ww 
weekday     ***dw, w 
hour        ***hh 
minute      ***mi, n 
second      ***ss, s 
millisecond ***ms 
microsecond ***mcs 
nanosecond  ***ns 

select * 
from table001
where datepart(hh,datetime) like 23

DATEPART(HOUR, [date])는 군사시간(00 ~23)으로 시간을 반환합니다.AM, 오후 3시 등을 원할 경우 다음 사항을 확인해야 합니다.

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

작동하다

HOUR(날짜)로 시간을 추출할 수 없습니다.

전화하는 방법이 있다.HOUR(다만, 다음과 같은 기능이 있기 때문에 사용을 권장하지 않습니다.DATEPART함수) ODBC 스칼라 함수를 사용합니다.

SELECT {fn HOUR(GETDATE())} AS hour

LiveDemo

AM/PM을 포함하려면 다음을 사용합니다.

SELECT 
  concat(case when datepart(hour,getdate()) % 12 = 0 then 12 
              else datepart(hour,getdate()) % 12 end,
         case when datepart(hour,getdate()) < 12 then ' AM' 
              else ' PM' end
        )
select convert(time,GETDATE())

datepart()를 사용해야 합니다.

like 


datepart(hour , getdate())

언급URL : https://stackoverflow.com/questions/1114307/extracting-hours-from-a-datetime-sql-server-2005

반응형