php select-abfrage: gibts sowas wie...
janosch
- php
gibts sowas: ich will prüfen ob in einem tabellenfeld ein wort (z.B. shit) drin vorkommt, wenn ja, dann ausgeben
SELECT * FROM $k_table WHERE typ ENTHÄLT 'shit'
gibts das?
janosch
yo,
SELECT * FROM $k_table WHERE typ = 'shit';
wobei die wörter case sensitive sind, also zwischen klein und grossbuchstaben unterschieden wird.
Ilja
SELECT * FROM $k_table WHERE typ = 'shit';
funktioniert bei mir nicht. er gibt keinen aus obwohl shit drin steht. das wort steht im string. funktioniert das trotzdem mit WHERE typ = 'shit'?
hi,
SELECT * FROM $k_table WHERE typ = 'shit';
funktioniert bei mir nicht. er gibt keinen aus obwohl shit drin steht. das wort steht im string. funktioniert das trotzdem mit WHERE typ = 'shit'?
wenn das wort 'shit' _im string_ steht, aber nicht _der_ string ist, musst du das folgendermaßen machen:
SELECT * FROM $k_table WHERE typ LIKE '%shit%';
die prozentzeichen dienen hier als wildcards.
gruss,
wahsaga
SELECT * FROM $k_table WHERE typ LIKE '%shit%';
super, das geht prima. dankeschön.
janosch
yo,
funktioniert bei mir nicht. er gibt keinen aus obwohl shit drin steht. das wort steht im string. funktioniert das trotzdem mit WHERE typ = 'shit'?
ja, das funktioniert auch bei strings. allerdings muss es 100% übereinstimen und dürfen auch keine leerzeichen vorkommen. und wie bereits gesagt, sind sie case sensitive. kann es sein, dass der spaltename nicht typ heisst ?
aber wenn du keine 100% übereinstimung willst, nimm folgendes.
SELECT * FROM $k_table WHERE lower(typ) LIKE '%shit%';
hi,
wobei die wörter case sensitive sind, also zwischen klein und grossbuchstaben unterschieden wird.
das dürfte aber noch auf die verwendete DB, sowie den datentyp des feldes ankommen ...
gruss,
wahsaga
yo,
das dürfte aber noch auf die verwendete DB, sowie den datentyp des feldes ankommen ...
yup, das ist richtig. allerdings ist man immer auf der sicheren seite, wenn man es beachtet und eventuelle abfragen in andere DBMS übernimmt.
Ilja