Aloha!

Ik was laatst weer eens bezig met nerdzaakjes, en toen ging ik SQL eens onder de loep nemen. Ik zit echt pas in de basis van de basis van de basis.

Nu vroeg ik mij iets af: stel je voor, je hebt een tabel waarin een aantal waarden staan, die een * in hun naam hebben staan. Bv "hoi*123" en "hoi*123"

Hoe kan ik dan een lijst maken van alle waarden die "hoi*" in hun naam hebben staan, maar een willekeurig getal achter de naam. Het probleem zit hem namelijk bij het feit dat als je de LIKE operator gebruikt, je een *'tje gebruikt om aan te geven dat daar elk willekeurig iets mag staan.

Ik heb zelf al heel wat gegoogled, en vond bv. de functie chr(), maar als je die gebruikt ziet hij hem volgens mij nog steeds als een sterretje-in-fuctie, ipv platte tekst, om het zo maar te zeggen.

Weet iemand hier een stoere oplossing voor? Of is het gewoon allemaal kansloos...

Overigens is dit allemaal zeer hypothetisch; ik zit niet echt met dat probleem, ghehe

Groetjes,
Lotte

PS. Nee ik doe niet aan 'kort en krachtig' hahaha
Volgens mij:

SELECT * FROM tabelnaam WHERE waarde LIKE 'hoi*%'
Als je een * of een % letterlijk wil hebben, moet je daar een escape character voor zetten, standaard is dat een \

Het staat in de handleiding ( http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html ) maar is een beetje weg gestopt.

Edit: ik ben er voor het gemak maar even vanuit gegaan dat je MySQL gebruikt, zo niet dan kan het anders zijn.
Boaz schreef op 15.12.2009 17:14
Als je een * of een % letterlijk wil hebben, moet je daar een escape character voor zetten, standaard is dat een \

Edit: ik ben er voor het gemak maar even vanuit gegaan dat je MySQL gebruikt, zo niet dan kan het anders zijn.


Ik heb tegenwoordig informatica, en daar doen we nog niet aan stoere databases: we zijn nu zeer simpel bezig met Access.

Ik had namelijk nog wel ergens in mijn hoofd zitten (uit een ver ver verleden) dat het iets met een slash was, maar dat werkte dus niet haha
je kan ook je eigen escape character maken:
[code]
LIKE 'watjijwil\*' ESCAPE '\'

Reageren