Archive for the ‘Firebird’ Category

Case insensitive keresés firebirdben

Saturday, March 3rd, 2007

Mostanában néha ránézek a firebirdre, mert a céges programban ez működik kliens oldalon.

Most pl. case insensitive keresésre van szükség, file nevek összehasonlítása miatt, de természetesen csak indexxel gyorsított megoldás érdekel.

Úgy látom a fb alapban nem tud olyat, mint az SQL Server, hogy egy adott ország szerinti rendezést case insensitive módon végezze el. A feladatot indexelt, számított oszloppal lehet megoldani.

Még nem próbáltam ki, majd ha a kolléga beépíti, elmesélem megy-e rendesen.

In Firebird 2.0 it is possible to create a so-called “Expression Index” on an UPPER() function call:
CREATE INDEX IDX_PERSON_LASTNAME ON PERSONS COMPUTED BY (UPPER (LAST_NAME COLLATE DE_DE))

From now on, it is possible to search using exactly the same expression:
SELECT * FROM PERSONS WHERE UPPER (LAST_NAME COLLATE DE_DE) = UPPER(:SEARCH_STRING COLLATE DE_DE)