PDA

View Full Version : Generische Selektion in SQL



AndreasH
09-07-03, 14:56
Hallo Forum,
gibt es einen Möglichkeit, in einen where Klausel ein Char Feld generisch abzufragen?
mit Select * from datei00 where charfeld like 'GEN*' finde ich leider nicht den Satz mit "GENERIC" in dem Feld.
Danke schonmal
Andreas

malzusrex
09-07-03, 15:10
Hallo Andreas,

versuche es mit

Select * from datei00 where charfeld like '%GEN%'

oder

Select * from datei00 where charfeld like 'GEN%'


tschau ronald

AndreasH
09-07-03, 15:16
danke Ronald, aber das funktioniert leider nur für Query, nicht für SQL

malzusrex
09-07-03, 15:44
das kann net sein,

ich habe diese select's schon des öfteren im sql abgesetzt (srsql)

ronald

AndreasH
10-07-03, 09:00
arg... schlag mich... Groß- Kleinschreibung nicht beachtet.
Vielen Dank Ronald! Tut genau, was es soll.

malzusrex
10-07-03, 10:27
dann nimm UPPER zur hilfe

Select * from datei00 where upper(charfeld) like '%GEN%'



ronald

AndreasH
10-07-03, 12:01
Danke, das machts nochmal leichter
Gruß
Andreas

holly
14-07-03, 14:06
Du kannst auch Platzhalter für einzelne Zeichen verwenden:
select mit like und Platzhalter
SELECT * FROM astvarp
WHERE ASVAVA like '020007021___003 017'
auch:
SELECT * FROM astvarp
WHERE ASVAVA like '020007021%%%003 017'
Gruß Holly

B.Hauser
14-07-03, 15:12
Hallo Holly,

bei den Platzhaltern ist zu erwähnen, dass die Verwendung von _ und % nicht zum gleichen Ergebnis führt.

_ heisst genau ein Zeichen wird ersetzt
% heisst beliebig viele Zeichen.
% muss nur einmal angegeben werden!

z.B. Feld: 'ABCDEFGXYZ'
1. Select * from File where Feld = 'ABC_XYZ'
--> Satz wird nicht gefunden
2. Select * from File where Feld = 'ABC_EFGXYZ'
--> Satz wird gefunden

3. Select * from File where Feld = 'ABC%XYZ'
--> Satz wird gefunden

Hat jemand schon einmal probiert einen String mit einem Platzhalter zu selektieren?
Beispiel: in einem Text-Feld ist eine %-Angabe und '100%' soll selektiert werden?

Hier die Lösung:
Select * from File where String like like '%100+%%' escape '+'

Birgitta