[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Sortowanie wg daty na NT
On 2 Dec 97 at 14:47, Stanislaw Chmist wrote:
> Mamy problem z sortowaniem wg daty na NT 4.0 w wersji 7.3B.
>
>
> 1. Działa prawidłowo:
> FIND FIRST bSlObywatelstwo
> WHERE STRING(bSlObywatelstwo.daDataOd) BEGINS '90/01/01'
> NO-LOCK NO-ERROR.
>
> 2. Działa nieprawidłowo:
> FOR EACH bfSlObywatelstwo NO-LOCK
> WHERE STRING(bfSlObywatelstwo.daDataOd) BEGINS '90/01/01':
>
> W drugim przypadku działa prawidłowo jeżeli podamy datę w formacie
> mm/dd/yy.
>
> Interesują nas rozwiązania bez modyfikacji kodu.
>
> Dziękuję za ewntualnie informacje i propozycje.
Nie bardzo rozumiem, gdzie tu jest sortowanie. W obu przypadkach
zostanie uzyty primary index, jako ze nie ma ani frazy "by"
ani "use-index" ani warunku na atrybut, bo warunek na funkcje od
atrybutu nie moze spowodowac uzycia indeksu - zamiast "string"
mogloby byc "month" i zaden indeks nie pomoze.
Domyslam sie, ze bfSlObywatelstwo i bSlObywatelstwo to bufory tej
samej tablicy. Jesli nie to roznica moze polegac na innych
definicjach indeksow.
Funkcja "string" zwraca date w porzadku okreslonym przez parametr
sesji -d, ktory jest zapewne identyczny w obydwu przypadkach.
Domyslam sie, ze drugi przypadek dziala, gdy date 90/01/01 (a nie
daDataOd) podaje sie w formacie mm/dd/yy i nie rozumiem, jakie to
moze miec znaczenie.
Tomasz Judycki tjudycki@elbacsb.com.pl
ELBA-CSB SA, tel (48 22) 610 85 80 ext. 335
Plowiecka 1, fax (48 22) 612 20 61
04-204 Warsaw,
Poland
http://www.csbi.waw.pl