Q&A

  • 인터베이스에서 날짜 검색
인터베이스에서 날짜 검색은 어떻게 하는지요.



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에서 에러가 발생합니다.



날짜를 기간으로 구할때가 있고 지정한 한 날을 구할때가 있는데

어떻게 해야 할지 막막하군요.



바쁘시겠지만 답변 부탁드리겠습니다.



1  COMMENTS
  • Profile
    명탁 2001.06.28 08:33
    Select Distinct OJ_Sang from OutJepum

    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에서 에러가 발생합니다.

    >

    > 날짜를 기간으로 구할때가 있고 지정한 한 날을 구할때가 있는데

    > 어떻게 해야 할지 막막하군요.

    >

    > 바쁘시겠지만 답변 부탁드리겠습니다.

    >