Q&A

  • sql로 날짜 조회하기
    query1.close;
    query1.sql.clear;
        query1.sql.add(format('select * from %s',[CurrentDBName]));
        query1.sql.add('where (name) like''%' + Edit_Search_Name.Text+'%''');
        query1.SQL.Add(' and (workjoomoondate >= :date1) and (workjoomoondate <= :date2) ');
        //query1.SQL.Add(' Group By name');
        query1.ParamByName('date1').AsDateTime :=DateTimePicker_joomoon1.datetime;
        query1.ParamByName('date2').AsDateTime :=DateTimePicker_joomoon2.datetime;
        query1.open;

위와같이 DateTimePicker를 두개놓고 DateTimePicker_joomoon1.datetime 와
DateTimePicker_joomoon2.datetime 의 사이에 있는 날짜들을 구하려고
실행을 합니다.

DateTimePicker_joomoon1.datetime 와 DateTimePicker_joomoon1.datetime 가
날짜가 다를때는 값들이 제대로 나오지만
두개의 DateTimePicker의 날짜가 같으면 조회가 되지를 않습니다.
분명히 그날짜가 테이블에 존재하는데도 말입니다.

이문제 땜에 죽겠네요...

꼭 답변 부탁드립니다.
2  COMMENTS
  • Profile
    nilriri™ 2003.12.26 18:54
    DateTimePicker_joomoon1.datetime으로 하시면

    시간까지를 포함한 조회조건이 됩니다..

    실제 디비에 어떻게 저장이 되어있는지 모르겠지만..

    디비에 2003.12.25 07:05.23  이라는 시간으로 저장되어있을경우

    2003.12.25. 10:11.25  
    2003.12.25. 10:11.25   현재 프로그램이 실행되는 시간이 될겁니다..

    아마도..^^;  

    그렇게 된다면 조건에 맞는 자료는 없는겁니다..^^  맞죠?

    DateTimePicker_joomoon1.date로 하시던가  
    물론 디비쪽도 날짜부분만 비교를 하셔야 겠죠?

    trunc함수를 사용하십시오..   날짜와 시간 부분에서 날짜만을 취해서..

    비교 하시면 됩니다..

    RDBMS별로 날짜부분만을 취하는 방법은 여러가지가있습니다.

    인덱스가 설정된 필드라면 필드에 함수 적용하시는건 신중하게 하시구요.

    그럼..즐프~


  • Profile
    박희경 2003.12.26 19:12