2017-03-23 3 views
-3

나는 DB2에 익숙하지 않으므로 시간 스탬프와 AM 및 PM 형식 사이에서 db2 쿼리를 실행하는 방법을 알려주십시오.타임 스탬프 쿼리 사이에 db2

다음은

ID NAME  TIMESTAMP 
== ====  ========= 
6 Xavier 02/02/2016 2:24:32 AM 
7 Paul  02/02/2016 2:46:53 PM 
8 Adam  02/02/2016 4:05:39 PM 
9 Newton 12/02/2016 5:29:46 PM 
10 Jack  14/02/2016 9:29:46 PM 

나는 당신이 달성하는 데 도움 주실 오후 4시

에 오전 1시 사이 2016년 2월 2일에 이름을 선택하려면 위의 표를 사용하려는 테이블입니다. 타임 스탬프 데이터 유형을 가정하면 date입니다

+0

타임 스탬프 열의 데이터 유형은 무엇입니까? – GurV

+0

은 timestamp 열에 문자열이 있습니까? – Hogan

답변

-1

인해 클라이언트 설정에 당신은 'AM'/ 'PM'을 볼 수 있습니다

select * From your_table where timestamp between 
to_date('02/02/2016 01:00:00','DD/MM/YYYY HH24:MI:SS') 
and 
to_date('02/02/2016 16:00:00','DD/MM/YYYY HH24:MI:SS') 

를 사용합니다.

+1

타임 스탬프 열이 문자열 인 경우이 기능이 작동하지 않습니다. – Hogan

+0

@Hogan - 답안의 첫 줄을 읽지 않으셨습니까 ?? '타임 스탬프에 대한 데이터 유형이 날짜라고 가정합니다. '왜 같은 정보를 다시주고 있습니까? – Utsav

+0

스택 오버플로에 대한 7 년간의 경험에 대한 모든 것 때문에 Asker가 타임 스탬프 정보를 문자열로 저장하고 있다고 생각했습니다. 사실, 귀하의 답변이 정확하다고 표시되었지만 나는 여전히 그것이 사실이라고 믿습니다. – Hogan

1

타임 스탬프를 비교하려면 물건을 타임 스탬프 유형으로 변경해야합니다. 지금 데이터가 문자열입니다. 문자열을 변환하지 않으면 문자열이 작동하지 않는다고 생각합니다. 예를 들어 오전 9 시가 오전 11시 이전에 올 것입니다.

select * 
from your_table 
where timestamp(timestamp) between timestamp('02/02/2016 01:00:00') 
           and timestamp('02/02/2016 16:00:00')