wszystkie wyrazy z małymi i dużymi znakami

0

Jak wyszukać w bazie wszystkie wyrazy z małymi i dużymi znakami np. wpisuje DOM i dostaje:
DOM
Dom
dom
DOm
Dom

baza danych Firebird 3

to jest select z mojego programu

  with SQLQuery1, SQL do
    begin
      Close;
      Clear;
      Add('select * from KLIENT WHERE FIRMA like ''%'+edit1.text+'%''');
      open;
    end;   
2

http://www.destructor.de/firebird/caseinsensitivesearch.htm

Albo zmieniasz collate kolumny na UNICODE_CI, albo po prostu porównujesz UPPER(kolumna) z UPPER(query). Żeby przyspieszyć powinieneś zrobić indeks na UPPER, może to być computed index
CREATE INDEX IDX_PERSON_LASTNAME ON PERSONS COMPUTED BY (UPPER (LAST_NAME COLLATE DE_DE))

0
obscurity napisał(a):

http://www.destructor.de/firebird/caseinsensitivesearch.htm

Albo zmieniasz collate kolumny na UNICODE_CI, albo po prostu porównujesz UPPER(kolumna) z UPPER(query). Żeby przyspieszyć powinieneś zrobić indeks na UPPER, może to być computed index
CREATE INDEX IDX_PERSON_LASTNAME ON PERSONS COMPUTED BY (UPPER (LAST_NAME COLLATE DE_DE))

with SQLQuery1, SQL do
    begin
      Close;
      Clear;
      Add('select * from KLIENT WHERE UPPER(FIRMA) like UPPER(''%'+edit1.text+'%'')');
      open;
    end;   

UPPER DzIaŁa dzięki

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