복붙노트

[SQL] SQL에서 날짜 시간 필드의 시간 부분

SQL

SQL에서 날짜 시간 필드의 시간 부분

어떻게 SQL에서 날짜 시간 필드의 시간 부분을 추출 할 수 있을까요? 내 프로젝트를 위해 나는 상관없이 날짜가 무엇인지 날짜 시간 필드의 오후 5시의 타임 스탬프가없는 데이터를 반환해야

해결법

  1. ==============================

    1.SQL 서버에서 당신은 단지 HH 필요한 경우 : 마일, 당신은 사용할 수 있습니다 :

    SQL 서버에서 당신은 단지 HH 필요한 경우 : 마일, 당신은 사용할 수 있습니다 :

    DECLARE @datetime datetime
    
    SELECT @datetime = GETDATE()
    
    SELECT RIGHT('0'+CAST(DATEPART(hour, @datetime) as varchar(2)),2) + ':' +
           RIGHT('0'+CAST(DATEPART(minute, @datetime)as varchar(2)),2)
    
  2. ==============================

    2.이 시간 만 반환됩니다

    이 시간 만 반환됩니다

    SQL Server의 경우 :

    SELECT convert(varchar(8), getdate(), 108)
    

    설명:

    GETDATE ()는 현재 날짜와 시간을주고있다. 108 우리이 경우 필요한 부분 즉 시간주기 / 포맷된다. VARCHAR (8) 우리에게 그 부분에서 문자의 수를 제공합니다. 처럼: 당신이 VARCHAR를 썼다면 (7), 그것은 당신에게 00이 줄 것이다 : 00 : 0 당신이 VARCHAR를 썼다면 (6), 그것은 당신에게 00:00이 줄 것이다 : 당신이 거기 VARCHAR (15)를 썼다면 그냥 시간 부분의 출력을 제공하기 때문에, 그것은 여전히 ​​당신에게 0시 0분 0초을 줄 것이다. SQLFiddle 데모

    MySQL의 경우 :

    SELECT DATE_FORMAT(NOW(), '%H:%i:%s')
    

  3. ==============================

    3.당신이 당신의 날짜의 시간을 원하는 경우에, 당신은 DATEPART ()를 사용할 수 - SQL 서버 :

    당신이 당신의 날짜의 시간을 원하는 경우에, 당신은 DATEPART ()를 사용할 수 - SQL 서버 :

    declare @dt datetime
    set @dt = '2012-09-10 08:25:53'
    
    select datepart(hour, @dt) -- returns 8
    

    SQL 서버에서 2008+ 당신은 시간으로 () CAST 수 있습니다 :

    declare @dt datetime
    set @dt = '2012-09-10 08:25:53'
    
    select CAST(@dt as time) -- returns 08:25:53
    
  4. ==============================

    4.2008 SQL Server의이 시도 :

    2008 SQL Server의이 시도 :

    select *
    from some_table t
    where convert(time,t.some_datetime_column) = '5pm'
    

    당신이 임의의 날짜 값을 원하고 그것을 조정하면 너무 시간 구성 요소는 SQL Server 2008의 여러 가지 방법이 있습니다, 오후 5. 먼저 시작 - 중 - 일 필요 (예를 들어, 2011-09-30 00 : 00 : 00.000).

    위는 시작 - 중 - 일 현재 하루에 제공합니다.

    시작 - 중 - 일이 있으면, 오후 5 얻는 것은 쉽다. 그냥 시작의 일 값으로 17 시간 추가

    select five_pm = dateadd(hour,17, t.some_datetime_column
                       - convert(time,t.some_datetime_column)
                       )
    from some_table t
    
  5. ==============================

    5.나는이 오래된 질문은 알고 있지만, 모든 다른 답변 이후

    나는이 오래된 질문은 알고 있지만, 모든 다른 답변 이후

    나는 단지 2005 + SQL 서버와 날짜 작업과 작업을 필요로하는 "순수"옵션을 추가 거라고 생각 :

    SELECT DATEADD(dd, -DATEDIFF(dd, 0, mydatetime), mydatetime)
    

    이 제로 일 (1900-01-01), 지정된 날짜 사이 (전체 일)의 차이를 산출하여 다음의 제로 날짜 컴포넌트 설정, 지정된 날짜에서 일의 수를 감산한다.

  6. ==============================

    6.참고로 MS SQL 2012 년 이후 서식을 사용할 수 있습니다에서 (값을, '형식')

    참고로 MS SQL 2012 년 이후 서식을 사용할 수 있습니다에서 (값을, '형식')

    예를 들면 WHERE 포맷 (YourDatetime 'HH : MM은') = '17 : 00

  7. ==============================

    7."내 프로젝트를 위해, 나는 날짜 시간 필드의 오후 5시의 타임 스탬프를 가지고 데이터를 반환해야, 아니 날짜가 무엇인가 문제가."

    "내 프로젝트를 위해, 나는 날짜 시간 필드의 오후 5시의 타임 스탬프를 가지고 데이터를 반환해야, 아니 날짜가 무엇인가 문제가."

    내가 생각하는 그래서 당신이 의미하는 것은 날짜가 아닌 시간이 필요하다고했다. 당신은 시간이 5:00으로 날짜를 얻기 위해 같은 것을 할 수 있습니다 :

    SELECT CONVERT(VARCHAR(10), GetDate(), 110) + ' 05:00:00'
    
  8. ==============================

    8.이 날짜 부분을 벗겨한다 :

    이 날짜 부분을 벗겨한다 :

    select convert(datetime,convert(float, getdate()) - convert(int,getdate())), getdate()
    

    와 1900-01-01의 기본 날짜와 날짜를 반환합니다.

  9. ==============================

    9.이 경우 CONVERT (TIME, GETDATE ()를) 사용할 수 있습니다 :

    이 경우 CONVERT (TIME, GETDATE ()를) 사용할 수 있습니다 :

    INSERT INTO infoTbl
    (itDate, itTime)
    VALUES (GETDATE(),CONVERT(TIME,GETDATE()))
    

    또는 당신이 원하는 경우를 인쇄하거나 같은 시간 사용을 반환 :

    DECLARE @dt TIME
    SET @dt = CONVERT(TIME,GETDATE())
    PRINT @dt
    
  10. ==============================

    10.

    SELECT DISTINCT   
                     CONVERT(VARCHAR(17), A.SOURCE_DEPARTURE_TIME, 108)  
    FROM  
          CONSOLIDATED_LIST AS A  
    WHERE   
          CONVERT(VARCHAR(17), A.SOURCE_DEPARTURE_TIME, 108) BETWEEN '15:00:00' AND '15:45:00'
    
  11. ==============================

    11.캐스트 선택 (GETDATE ()를하는 시간 (0))

    캐스트 선택 (GETDATE ()를하는 시간 (0))

    예를 들어, 반환 : - 15시 19분 43초

    당신이에서 단지 시간을 추출 할 날짜 시간 () GETDATE 교체!

  12. from https://stackoverflow.com/questions/12354699/time-part-of-a-datetime-field-in-sql by cc-by-sa and MIT license