Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird 2.1 SQL - case-sensitive? (https://www.delphipraxis.net/134000-firebird-2-1-sql-case-sensitive.html)

Grolle 13. Mai 2009 18:03

Datenbank: Firebird • Version: 2.1 • Zugriff über: IBDac

Firebird 2.1 SQL - case-sensitive?
 
Hi,

ist die Suche bei Firebird in Varchar-Feldern immer case-sensitive? Kann man das irgendwie in der Abfrage umgehen?

Viele Grüße ...

mkinzler 13. Mai 2009 18:10

Re: Firebird 2.1 SQL - case-sensitive?
 
-Vorher beide Seiten der Abfrage in Großbuchstaben wandeln:
SQL-Code:
select * from <Tabelle> where Upper(<Feld>) = Upper( <Suchbegriff>);
-Expression Index

Grolle 13. Mai 2009 18:28

Re: Firebird 2.1 SQL - case-sensitive?
 
Zitat:

Zitat von mkinzler
-Vorher beide Seiten der Abfrage in Großbuchstaben wandeln...

hab ich's mir doch gedacht :stupid:

mkinzler 13. Mai 2009 18:42

Re: Firebird 2.1 SQL - case-sensitive?
 
Oder wenn du das öfterst benötigst einen Expression Index auf die Upper-Werte anlegen:
SQL-Code:
CREATE INDEX IDX_<Tabelle>_<Feld> ON <Tabelle> COMPUTED BY (UPPER (<Feld> COLLATE <Sortierung(Collation)>));

Grolle 13. Mai 2009 18:57

Re: Firebird 2.1 SQL - case-sensitive?
 
Hi,

jetzt habe ich aber doch noch ein Problem bei meiner Abfrage (s = string = gö):
SQL-Code:
SELECT LAST_NAME ||' + QuotedStr(', ') + '||FIRST_NAME AS TXT, ID, GENDER FROM CONTACTS WHERE UPPER(LAST_NAME) LIKE UPPER(''%' + s + '%'') AND STATE=1 ORDER BY LAST_NAME
Finden sollte er ja z. B. Göppert. Tut er aber nicht :gruebel:

TBx 13. Mai 2009 19:00

Re: Firebird 2.1 SQL - case-sensitive?
 
Welchen Charset verwendest Du denn? Sonderzeichen wie äöüß etc sind nicht in jedem Characterset enthalten.

mkinzler 13. Mai 2009 19:01

Re: Firebird 2.1 SQL - case-sensitive?
 
Was für eine COLLATION hast du angegeben?

TBx 13. Mai 2009 19:03

Re: Firebird 2.1 SQL - case-sensitive?
 
na, Herr Kollege, wollen da wieder zwei Dumme auf das selbe hinaus? @Markus

Grolle 13. Mai 2009 19:06

Re: Firebird 2.1 SQL - case-sensitive?
 
SQL-Code:
LAST_NAME Varchar(80) CHARACTER SET ISO8859_1
- sollte doch eigentlich klappen, oder?

Hansa 13. Mai 2009 19:12

Re: Firebird 2.1 SQL - case-sensitive?
 
Ich glaube kaum, dass so etwas "," Also genau diese drei Zeichen im Namen vorkommen. Wozu immer diese QuotedStr ? :wall: Das macht das Ganze, nebenbei gesagt, sowieso noch dazu case-sensitiv.

Edit es sind sogar 4 Zeichen, also ", ". 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz