DB안에 시간이 저장되어있고 이것을 오전이건과 오후인건을 구분하여 검색하고 싶은데 어떻게 해야지요?
먼저 오전인것을 저는
SQL.Add(' Select * from A ');
SQL.Add(' Tim >=:FrontP And ');
SQL.Add(' Tim <=:TOP ');
PrePare;
ParamByName('FrontP').AsTime := StrToTime('12:00 am');
ParamByName('TOP').AsTime := StrToTime('11:59 am');
open;
여기서 Error메세지가 뜨네요.
분명 StrToTime에서 잘못되것같은데..
아시는 분 불상한 양을 구원하소서..
훔.... 저두 초보지만 몇자 적어 보겠습니다..
님의 쿼리문을 보면 어느 시간대 검색 같군여..
그럼 time between :a and :b 라고 하면 될 것이고..
그리고 오전, 오후 검색은... 하루는 24시간 이라는 것을 감안하고
00:00:00 ~ 11:59:59 까지 오전
12:00:00 ~ 23:59:59 까지 오후
ㅡ,.ㅡ;
그럼 님의 쿼리문의 조건으로 한다면..
Time1 := StrToTime('11:59:00');
Time2 := StrToTime('12:00:00');
Parambyname('a').astime := time1;
Parambyname('b').astime := time2;
아님..
Parambyname('a').asstring:= '11:59:00';
Parambyname('b').asstring := '12:00:00';
만약 시간필드가 날짜와 시간이 같이 있다면(보통같이 있죠.)
시간만 가져오게 컨버팅 시켜야 합니다.
convert(char(8), time, 108) as re_time 이런씩으로..
에구구.. 초보 였네여..
도움이 되었기를 바라며~~~~~~ 휘리릭~
이무열 wrote:
> DB안에 시간이 저장되어있고 이것을 오전이건과 오후인건을 구분하여 검색하고 싶은데 어떻게 해야지요?
> 먼저 오전인것을 저는
> SQL.Add(' Select * from A ');
> SQL.Add(' Tim >=:FrontP And ');
> SQL.Add(' Tim <=:TOP ');
> PrePare;
> ParamByName('FrontP').AsTime := StrToTime('12:00 am');
> ParamByName('TOP').AsTime := StrToTime('11:59 am');
> open;
> 여기서 Error메세지가 뜨네요.
> 분명 StrToTime에서 잘못되것같은데..
>
> 아시는 분 불상한 양을 구원하소서..