인터베이스에서 날짜 검색은 어떻게 하는지요.
1. SQL.Add('Select Distinct OJ_Sang from OutJepum ');
SQL.Add('Where OJ_OutDate = :JDate ');
Params[0].AsDateTime := EditDate.Date;
또는 ParamByName('JDate').AsDateTime := EditDate.Date;
2. tMon : String;
tMon := Copy(EditDate.Text, 1, 4) +
Copy(EditDate.Text, 6, 2) +
Copy(EditDate.Text, 9, 2);
with DBModule.QInJ do begin
Close;
SQL.Clear;
SQL.Add('Select Distinct OJ_Sang from OutJepum ');
SQL.Add('Where Extract(Year from OJ_OutDate) * 10000 + ' +
'Extract(Month from OJ_OutDate) * 100 + ' +
'Extract(Day from OJ_OutDate)=' + tMon + ' ');
1의 방법에서는 값이 없고
2의 방법에서는 Where절의 from에서 에러가 발생합니다.
날짜를 기간으로 구할때가 있고 지정한 한 날을 구할때가 있는데
어떻게 해야 할지 막막하군요.
바쁘시겠지만 답변 부탁드리겠습니다.
Where OJ_OutDate = :JDate
OJ_OutDate 타입 아마도 timestamp 이면 당연 값은 19760720032112
이구 :JDate 값은 19760720 이여서리
cast(OJ_OutDate as date) = :jdate 이구여
Params[0].AsDateTime := EditDate.Date;
finale wrote:
> 인터베이스에서 날짜 검색은 어떻게 하는지요.
>
> 1. SQL.Add('Select Distinct OJ_Sang from OutJepum ');
> SQL.Add('Where OJ_OutDate = :JDate ');
> Params[0].AsDateTime := EditDate.Date;
>
> 또는 ParamByName('JDate').AsDateTime := EditDate.Date;
>
> 2. tMon : String;
>
> tMon := Copy(EditDate.Text, 1, 4) +
> Copy(EditDate.Text, 6, 2) +
> Copy(EditDate.Text, 9, 2);
> with DBModule.QInJ do begin
> Close;
> SQL.Clear;
> SQL.Add('Select Distinct OJ_Sang from OutJepum ');
> SQL.Add('Where Extract(Year from OJ_OutDate) * 10000 + ' +
> 'Extract(Month from OJ_OutDate) * 100 + ' +
> 'Extract(Day from OJ_OutDate)=' + tMon + ' ');
>
> 1의 방법에서는 값이 없고
> 2의 방법에서는 Where절의 from에서 에러가 발생합니다.
>
> 날짜를 기간으로 구할때가 있고 지정한 한 날을 구할때가 있는데
> 어떻게 해야 할지 막막하군요.
>
> 바쁘시겠지만 답변 부탁드리겠습니다.
>