Hans Merl: Finde Datensätze die mit einer Ziffer beginnen

Hallo,
ich habe folgendes Problem und hoffe es wurde nicht schon breitgetreten und ich habe es nicht gefunden.

Ich möche in meiner Datenbaktabelle alle Datensätze finden, die mit einer Ziffer beginnen [0-9].
Also etwa in dieser Art:

SELECT * FROM tabelle WHERE spalte like '[0-9]%'

Ich müßte also für [0-9] einen Paltzhalter einsetzten,oder wie kann  ich Ziffern identifizieren?

Ich entschuldige mich schon für die Frage :), ich finde aber leider keinen Ansatz zur Lösung des Problemchen.

Viele Grüße
Hans

  1. HI,

    Ich müßte also für [0-9] einen Paltzhalter einsetzten,oder wie kann  ich Ziffern identifizieren?

    Gegenfrage, du meinst wo in einer der spalten das erste zeichen eine
    zahl ist oder der komplette Datensatz aus zahlen besteht??

    MfG

    1. HI,

      Gegenfrage, du meinst wo in einer der spalten das erste zeichen eine
      zahl ist oder der komplette Datensatz aus zahlen besteht??

      Ich will die Datensätze deren erstes Zeichen eine Zahl ist. Nach dieser Zahl können noch weitere Zahlen (variable Anzahl) folgen. Danach kommt immer noch Text.

      also z.B. '2010 Odyssee im Weltall'

      Wenn also wie hier am Anfang eine 2 steht, muß der Datensatz gefunden werden.

      Vielen Dank
      Hans Merl

  2. hi,

    Ich möche in meiner Datenbaktabelle alle Datensätze finden, die mit einer Ziffer beginnen [0-9].
    Also etwa in dieser Art:

    SELECT * FROM tabelle WHERE spalte like '[0-9]%'

    Ich müßte also für [0-9] einen Paltzhalter einsetzten,oder wie kann  ich Ziffern identifizieren?

    ziffern haben die eigenschaft >= '0' und <= '9' zu sein.

    brauchst also eigentlich nur das erste zeichen separat betrachten, und auf die beiden bedingungen hin prüfen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. SELECT * FROM tabelle WHERE spalte like '[0-9]%'

    auf der mysql-homepage wird auch die Möglichkeit der Verwendung von Regulären Ausdrücken (RegEx) vorgestellt.

    Ich würde es dann so machen:

    SELECT * FROM tabelle WHERE spalte REGEXP "[1]*"

    Das ist aber ohne Gewähr. Aber: Probieren geht über studieren, ne?


    1. 0-9 ↩︎