SQL - porównywanie dat

0

<font color="brown">W jaki sposób z tabeli, w której jedna z kolumn zawiera daty wybrać rekordy, których pole z datą znajduje się w ikreślonym przedziale czasowym? Porównywanie dat przez <, >, = nie działa </span></delphi>

0
  1. Uzyj BETWEEN
  2. Jak to nie dziala? A jak podajesz date i co to za baza?
0

Dalej nie działa :(

Baza jest w accesie. Format daty to krótka data.
Tabela wygląda tak:

data_odczytu ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8
2006-02-10 1000 2032 3023 1233 2323 9895 900 1900
2006-02-11 2000 2300 3152 3211 2325 9956 1800 2800
2006-02-12 3000 2500 3222 4566 2326 10233 3600 3600
2006-02-13 5500 2852 9000 9595 2368 10236 7900 8900
2006-02-14 6520 2992 9015 9999 2375 10237 8025 9025
2006-02-16 7851 3045 9036 10235 2398 10238 8123 9123
2006-02-19 8241 3165 9025 10589 2456 10398 9989 9989
2006-02-21 3 4 5 1 2 0 0 0
2006-02-22 9523 3258 10235 10869 2556 10800 170236 172036

Chcę odczytać co zmieniło się przez ostatni tydzień. W C# piszę taki kod:

string rozkaz = "select * from Stan_licznikow WHERE data_odczytu BETWEEN " + DateTime.Now.AddDays(-7).ToOADate() + " AND " + DateTime.Now.ToOADate();

OleDbCommand aCommand = new OleDbCommand(rozkaz, aConnection);

aConnection.Open();
OleDbDataReader aReader = aCommand.ExecuteReader(); //NA TEJ LINII SIĘ WYWALA
</b>
0

Już działa!

Problem nie był w SQLu tylkow C#. Trzeba było wpisać:

string rozkaz = "select * from Stan_licznikow WHERE data_odczytu BETWEEN " + DateTime.Today.AddDays(-7).ToOADate().ToString() + " AND " + DateTime.Today.ToOADate().ToString();

1 użytkowników online, w tym zalogowanych: 0, gości: 1