mdb에서 날짜로 조회를 할려고 합니다.
특정한 두 날짜 즉 예를 들면 아래 2002년 5월 20일 오전 01:00 부터 2002년 5월 22일 오후 11시까지
의 레코드를 읽어 올려고 하는데, 계속 에러가 발생하고 전혀 먹히질 않네요..
예전에 MS-SQL에서는 Datepart와 Datediff 두 가지 함수를 가지고 모든지 할수 있었지만
MDB에선 통하질 않는거 같습니다. 고수님들의 많은 답변 부탁 드릴께요..
select * from Table where iDate >= '2002-05-20 오전 01:00' and iDate >= '2002-05-22 오후 11:00'
두가지 날짜 안에 해당되는 내용의 레코드를 읽어오는 방법 좀 알려주세요..
DateTime 필드를 Query.SQL 같은데다 직접써서
제대로 Parsing 이 안돼는거 같군여.
Query.SQL.Add(Select * from Table where iDate between (:StartDate and :EndDate));
Query.ParamByName('StartDate').asDateTime := StrToDateTime('2002-05-20 오전 01:00' )
Query.ParamByName('EndDate').asDateTime := StrToDateTime('2002-05-22 오후 11:00' )
Query.Open;
이런식으로 해주시면 Param type 에 따라 각 DB 의
Driver 에 맞춰서 Data 를 Parsing 해줍니다.
참고로 '2002-05-20 오전 01:00' 같은 형식의 날짜는
date/time formatting variables 에서 바꿔줄수 있고
Default 로 windows 의 regional locale 세팅을 씁니다.