# SQL-Abfrage



## Christa2 (20. Sep 2011)

Guten Abend,

ich habe ein "kleines" Problem mit einer SQL-Abfrage. ^^ Ich habe in einer Tabelle eine Spalte, die Text enthält. Allerdings benötige ich von den Text nur einen bestimmten String.
Exemplarisch sind solche Eintrag enthalten:
xxxxxxxxxxxxxxxx1245xxxxxxxxxx
xxxxx1256xxxxxxxxxxxxx
xxx2345xxxx

und ich möchte mittels einer SQL-Abfrage nur die Zahlen selektieren und der Rest soll bei der Abfrage nicht enthalten sein.
er soll prinzipiell das nachfolgende Ergebnis liefern.
1245
1256
2345

Zurzeit habe ich noch keine Ahnung, wie ich das umsetzen kann. Ich hoffe, Ihr könnt mir weiterhelfen. Vielen Dank schon einmal


----------



## vanny (20. Sep 2011)

Mein erster Kurzschlussgedanke wär ne Wildcardsuche.


```
SELECT * FROM tabelle WHERE spalte LIKE '%1234%';
```

im Ergebnis müsste man die "x" dan noch entfernen, aber du hast ja nach der Suche gefragt


Gruß Vanny


----------



## Camino (20. Sep 2011)

Na ja, wenn man die Zahl schon weiss und sie in ein SELECT einsetzen kann, dann braucht man ja auch nicht mehr danach suchen. Es geht ja wahrscheinlich auch um mehrere Strings mit unterschiedlichen Zahlen drin.
Ich denke, es kommt darauf an, was im restlichen String drinsteht, also was die restlichen x darstellen. Wenn da nur Buchstaben und andere Zeichen drinstehen, und man nur die einzige Zahl rausziehen möchte, dann ist das evtl. möglich. Weiss aber nicht, ob das direkt mit SQL möglich ist. Ich würde den kompletten String aus der DB holen und dann mit Java die Zahl dort suchen und rausholen (z.B. mit RegExp).


----------



## nillehammer (20. Sep 2011)

Hallo Christa2,
was Du suchst, ist kein Standard SQL. Deswegen geht es DB-unabhängig nur, indem Du den String rausholst und dann in Java nachfilterst. Es gibt aber DBMSe, die das unterstützen. Oracle hat dafür z.B. den REGEX_LIKE Operator, der so ähnlich funktioniert wie LIKE nur eben mit einer Regex als Parameter. Infos gibt's hier: Pattern-matching Conditions
Poste sonst mal bitte, welches DBMS Du benutzt, dann kann man mal suchen, ob dieses so etwas ähnliches auch unterstützt.


----------



## r.w. (21. Sep 2011)

Christa2 hat gesagt.:


> Guten Abend,
> 
> ich habe ein "kleines" Problem mit einer SQL-Abfrage. ^^ Ich habe in einer Tabelle eine Spalte, die Text enthält. Allerdings benötige ich von den Text nur einen bestimmten String.
> Exemplarisch sind solche Eintrag enthalten:
> ...



Bei dem Problem wäre es hilfreich, wenn Du uns die verwendete Datenbank nennen würdest.
Aus Deinen Beispielen entnehme ich, dass die Zahlen nicht sich immer an der gleichen Position im 
String befinden. Ist das so? Wie sind denn diese Zeichenketten genauer aufgebaut?


----------

