HFSQL case sensitive?

Übergeordnete Themen zum gesamten Paket passend
Antworten
satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

HFSQL case sensitive?

Beitrag von satmax »

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?

so aus dem Kopf:

Code: Alles auswählen

SELECT 
	adresse.ID AS ID,	
	adresse.Kennzeichen AS Kennzeichen,	
FROM 
	adresse
WHERE 
	adresse.Kennzeichen LIKE {ParamKennzeichen}
ParamKennzeichen = "Demo"
oder
ParamKennzeichen = "DEMO"

macht also einen Unterschied. Kann ich dieses Verhalten änern, wie?

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: HFSQL case sensitive?

Beitrag von Herbert »

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.
alles hier: http://doc.windev.com/en-US/?2034008&na ... conditions

satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Re: HFSQL case sensitive?

Beitrag von satmax »

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?

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: HFSQL case sensitive?

Beitrag von Herbert »

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.

Antworten