[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