delphi, access db, ado connection을 이용하여 프로그램 중입니다.
AdoQry1.Close;
AdoQry1.SQL.Clear;
AdoQry1.SQL.Add('SELECT * FROM Table1 WHERE HDATE = :xHDATE');
AdoQry1.Parameters.ParamByName('xHDATE').Value := Now;
AdoQry1.Open;
위 문장을 실행시 오늘에 Table1 Data가 나타나야 되는데...
요놈의 날짜/시간 필드에서 시간 때문에 한개의 데이타도 나오지 않읍니다.
오라클에서는 TO_CHAR()함수도 먹던데..엑세스라서...쩝
즉,
2000-01-01 11:10:51 거래처A
2000-01-01 11:10:52 거래처B
2000-01-01 11:10:53 거래처C
2000-01-01 11:10:54 거래처D
데이타가 있다면
Now()를 2000-01-01 11:10:55라 가정할때 한개의 레코드도 셀렉트가 않되요..
시간은 달라도 날짜만 같으면 데이타를 가져올 방법....이나
어떻게 날짜만 뽑아서 비교할 수 있는 방법이 없나요...
부탁드립니다.
> delphi, access db, ado connection을 이용하여 프로그램 중입니다.
>
> AdoQry1.Close;
> AdoQry1.SQL.Clear;
> AdoQry1.SQL.Add('SELECT * FROM Table1 WHERE HDATE = :xHDATE');
> AdoQry1.Parameters.ParamByName('xHDATE').Value := Now;
> AdoQry1.Open;
>
> 위 문장을 실행시 오늘에 Table1 Data가 나타나야 되는데...
> 요놈의 날짜/시간 필드에서 시간 때문에 한개의 데이타도 나오지 않읍니다.
>
> 오라클에서는 TO_CHAR()함수도 먹던데..엑세스라서...쩝
> 즉,
> 2000-01-01 11:10:51 거래처A
> 2000-01-01 11:10:52 거래처B
> 2000-01-01 11:10:53 거래처C
> 2000-01-01 11:10:54 거래처D
> 데이타가 있다면
> Now()를 2000-01-01 11:10:55라 가정할때 한개의 레코드도 셀렉트가 않되요..
>
> 시간은 달라도 날짜만 같으면 데이타를 가져올 방법....이나
> 어떻게 날짜만 뽑아서 비교할 수 있는 방법이 없나요...
> 부탁드립니다.
>
>
>
ACCESS에서는 날짜만 비교시 Int()함수나 DateValue()함수를 써야합니다.
AdoQry1.Close;
AdoQry1.SQL.Clear;
AdoQry1.SQL.Add('SELECT * FROM Table1 WHERE DateValue(HDATE) = DateValue(:xHDATE)');
AdoQry1.Parameters.ParamByName('xHDATE').Value := Now;
AdoQry1.Open;
도움이 되었기를...