Q&A

  • TIMESTAMP타입의 필드에 들어있는 값에서 시간부분만 갖고 레코드를 가져오려고 합니다.
ttime의 날짜부분에는 상관없이 각 날의 15시 이후에 해당하는 것들을 가져오라는 SQL문을 만들고 싶은데요,

만약 timepart()라는 함수가 필드값에서 시간부분만 가져와주는 함수라고 한다면,


<!--CodeS-->
select ttime from table1

where timepart(ttime) >= '15:00'
<!--CodeE-->


과 같은 형태로 select문을 만들고 싶습니다.



물론 저런 식으로 작성하면 인덱스를 사용할 수 없으니까


<!--CodeS-->
select ttime from table1

where ttime >= floor(ttime)+'15:00'
<!--CodeE-->


처럼 만들 수 있는 문법이 가능하면 더 좋겠죠.



오라클에서는 가능한 방법이 있다고 하던데(SQL서버에서도 몇가지를 섞으면 되는 거 같던듯) 저는 Firebird 1.5를 사용합니다.



TIMESTAMP타입으로 정의된 필드에 들어있는 값에서 시간부분만 갖고 연산하여 where절에 쓰고 싶은데, 어떤 함수로 어떻게

써야하는지요?

0  COMMENTS