Unter Windows Mobile habe ich eine kleine HFSQLDB im Einsatz. Jetzt stelle ich gerade fest, das hier SQL Abfragen case sensitiv sind. Kann man das ändern?
Das kommt auf das Feld an, welches du benutzt.
Das paramKennzeichen ist ein Variablenwert.
Like wird verwendet in der Reegel mit Wildcards.
Zur Hilfe:
Sensitivity
The sensitivity (to the case, to the accented characters, to the punctuation, to the special characters) corresponds to the sensitivity of the key used.
If the item used is not a key item or if the operator uses no index, the comparison will be insensitive to the case and to the accented characters.
If the item used corresponds to the concatenation of several items, the comparison will be:
insensitive to the case if at least one of the concatenated items is not sensitive to the case.
insensitive to the accented characters if at least one of the concatenated items is not sensitive to the accented characters.
insensitive to the punctuation if at least one of the concatenated items is not sensitive to the punctuation characters.
insensitive to the special characters if at least one of the concatenated items is not sensitive to the special characters.
Zusammengefasst ist HFSQL CASE sensitiv, außer ich habe einen Index in dem ich dass dann einstellen kann.
Das ist natürlich ärgerlich, da sich MS SQL genau anders rum verhält, was ich auch wesentlich sinnvoller finde. Ich habe eine SQL DB mit Hunderten Tabellen und über 5000 Felder. Unter HFSQL müsste ich da auf über 1000 Felder einen Index legen.
Beispiele: sind Artikeltext (geht ja eventuell mit Index) aber auch in einer Artikelbeschreibung, da hatte ich noch nie einen Index drauf. Ich will dann mit
artikelbeschreibung like %bau%
alle Artikelbeschreibungen finden die bau beinhalten, wie: bau, Bau, Modellbau, Modell-Bau, Hausbau usw. Das geht dann gar nicht?
Das kommt auf den Einsatz darauf an. Falls du dem Query einen Parameter übergibst, kannst diesen klassisch mit UPPER() bedienen.
Müsstest dann weg vom klassischen SQL und von Windev her aufrufen.