Toon posts:

een string zoeken met SQL die begint met een cijfer.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een woordenlijst waar een aantal woorden instaan die beginnen met een cijfer. (bv 56k6 en 3com)
nu wil ik alle woorden zoeken die zo beginnen

ik zou dit kunnen gebruiken:

SELECT * from tabel where resultaat LIKE '0%' OR '1%' OR '2%' OR '3%' ORDER BY resultaat

veronderstel dat ik die OR tot en met 9 doe.... Is er een elegantere oplossing ? kan ik op 1 of andere manier in 1 stap 0-9 selecteren ?

  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 20-01 20:49
SELECT * FROM table WHERE resultaat REGEXP "^[0-9]"

  • dvdhoek
  • Registratie: Februari 2002
  • Laatst online: 23-08 09:01
hangt een beetje van sql dialect af, maar iets als

SELECT * from tabel where SUBSTR(resultaat,0,1) IN("0", "1", "2","3","4","5","6","7","8","9") ORDER BY resultaat

werkt ook

En tussen 0 en 9 kan ook, maar dan is het iets als

SELECT * from tabel where TO_NUMBER(SUBSTR(resultaat,0,1)) BETWEEN 0 AND 9 ORDER BY resultaat

Voor TO_NUMBER en SUBSTR ff de juiste functies opzoeken in de gebruikte omgeving.
Volgens mij werkt jouw voorbeeld met de OR's trouwens niet. Je zult de LIKE moeten herhalen, zoals het er nu staat is het natuurlijke taal en geen SQL conditie.

[ Voor 63% gewijzigd door dvdhoek op 23-02-2003 20:15 ]


Verwijderd

Topicstarter
dat werkt tnx :) (nu nog uitzoeken wat dat juist doet ) ;)