programing

SQL에서 DateTime 형식에서 시간을 가져오는 방법

starjava 2023. 4. 7. 20:47
반응형

SQL에서 DateTime 형식에서 시간을 가져오는 방법

SQL Server 2005 및 2008을 사용하여 SQL 쿼리를 사용하여 DateTime 열에서 시간만 가져오고 싶다.기본 출력:

AttDate                   
==
2011-02-09 13:09:00    
2011-02-09 14:10:00    

출력은 다음과 같습니다.

AttDate                Time 
==
2011-02-09 13:09:00    13:09
2011-02-09 14:10:00    14:10

SQL Server 2008:

SELECT cast(AttDate as time) [time]
FROM yourtable

이전 버전:

SELECT convert(char(5), AttDate, 108) [time]
FROM yourtable

SQL 서버 가정

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

SQL Server 2008+에는 "시간" 데이터 유형이 있습니다.

SELECT 
    ..., CAST(MyDateTimeCol AS time)
FROM
   ...

이전 버전의 경우 varchar 변환 없음

SELECT 
    ..., DATEADD(dd, DATEDIFF(dd, MyDateTimeCol, 0), MyDateTimeCol)
FROM
   ...

밀리초 스택 없이 datetime에서 시간을 얻는 가장 간단한 방법은 다음과 같습니다.

SELECT convert(time(0),getDate())

이것을 사용해 보세요.

  • 일시

    select cast(getdate() as time(0))
    
  • Tiny Time까지의 시간

    select cast(orig_time as time(0))
    

이렇게 하면 효과가 있습니다.

CONVERT(VARCHAR(8),DATETIME,114)

참고하시기 바랍니다.

이것을 시험해 보세요.

select  convert(nvarchar,CAST(getdate()as time),100)

서버 날짜 가져오기

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7)) FROM TABLENAME WHERE ...

또는

테이블에 저장되어 있는 경우

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), datename, 100), 7)) FROM TABLENAME WHERE ...

결과:

오전 11시 41분

select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName

날짜/시간에서 시간을 얻으려면

SELECT CONVERT(VARCHAR(20), GETDATE(), 114)
select cast (as time(0))

좋은 조항이 될 거야예를 들어 다음과 같습니다.

(select cast(start_date as time(0))) AS 'START TIME'

이 스크립트를 사용하여 Date Time에서 시간을 가져옵니다.

SELECT CONVERT(VARCHAR(9),RIGHT(YOURCOLUMN_DATETIME,9),108) FROM YOURTABLE

이 스타일로 데이트하려면:2013년 10월 23일 10:30오전

이것을 사용하다

SELECT CONVERT(NVARCHAR(30),getdate(), 100)

convert()메서드는 3개의 파라미터를 취득합니다.

  1. 데이터형
  2. 열/값
  3. 스타일: 100~114의 스타일을 선택할 수 있습니다.범위 내에서 선택할 수 있습니다.날짜 형식을 변경하려면 하나씩 선택합니다.

MSQL2012 이후

cast(dateadd(ms,datediff(ms, [StartDateTime], [StopDateTime]),0) as Time(0))

...혹은...

convert(time(0),dateadd(ms,datediff(ms, [StartDateTime], [StopDateTime]),0) )

SQL Server 2012:

Select TRY_CONVERT(TIME, myDateTimeColumn) from myTable;

개인적으로는 CONVERT()보다 TRY_CONVERT()를 선호합니다.주요 차이점은 다음과 같습니다.캐스트가 실패하면 TRY_CONVERT()는 NULL을 반환하고 CONVERT()는 오류를 발생시킵니다.

다음을 사용할 수 있습니다.

SELECT CONVERT(VARCHAR(5), GETDATE(),8)  

출력:

08:24
Declare @date Datetime = '06/18/2021 14:24:31';
Select FORMAT(@date, 'h\:m tt', 'en-US') As Timey

출력:

2:24pm
select convert(char(5), tbl_CustomerBooking.CheckInTime, 108) AS [time]
from tbl_CustomerBooking

select substr(to_char(colUmn_name, 'DD/MM/RRRR HH:MM:SS'),11,19) from table_name;

출력: from

05:11:26
05:11:24
05:11:24

언급URL : https://stackoverflow.com/questions/7710449/how-to-get-time-from-datetime-format-in-sql

반응형