Ich muss eine SELECT-Abfragen ausführen, die auf Groß-/Kleinschreibung und Akzente nicht reagieren. Für Demozwecke, erstelle ich eine Tabelle wie folgt aus:Wie behandelt man Akzentzeichen in iOS SQLite?
create table table
(
column text collate nocase
);
insert into table values ('A');
insert into table values ('a');
insert into table values ('Á');
insert into table values ('á');
create index table_cloumn_Index
on table (column collate nocase);
Dann habe ich diese Ergebnisse erhalten, wenn die folgenden Abfragen ausführen:
SELECT * FROM table WHERE column LIKE 'a';
> A
> a
SELECT * FROM table WHERE column LIKE 'á';
> á
SELECT * FROM table WHERE column LIKE 'Á';
> Á
Wie kann ich das beheben, dass so die Ergebnisse für eine der folgenden Abfragen aussehen:
> A
> a
> Á
> á
die sQLite auf iOS läuft, durch die Art und Weise.
Vielen Dank im Voraus,
Ja verwenden sollte, auch ich diesen Ansatz wurde mit, aber jetzt Ich muss mich mit einer Datenbank beschäftigen, deren Struktur ich nicht ändern kann. Aber wenn Sie können, und Ihre dB ist nicht zu groß, es ist ein einfacher Weg zu gehen. –
@LeandroAlves Ich weiß, dass Sie dieses Problem schon lange hinter sich gebracht haben, aber ich (a) schließe eine andere Variante ein, um nicht erkennbare Strings zu erzeugen; und (b) zeigen Ihnen, wie Sie unaccent Strings in SQLite im laufenden Betrieb. – Rob
@Rob Der Code für Option 2 führt die Daten korrekt aus und verarbeitet sie, aber sie nimmt die CPU auf 99% und den Arbeitsspeicher> 1000 MB. Die Anwendung stürzt unmittelbar nach Abschluss der Operationen mit 'EXC_BAD_ACCESS (Code = 2, Adresse = 0x0) ab. Gibt es etwas, das getan werden kann, um die Speichernutzung mit diesem Code zu kontrollieren? –