Michael: Abfrage nach Anfangs-Buchstabe

Hallo,
ich habe eine Datenbank, deren Einträge ich nach Buchstaben sortiere. Klappt auch alles wunderbar, den Anfangsbuchstaben erwiche ich mit:

SELECT ... LIKE 'A%';

Nun will ich noch alle Einträge, die nicht mit einem Buchstaben von A-Z beginnen auswählen erwischen.

Muss ich dazu eine Klammer schreiben mit:

SELECT ... NOT LIKE 'A%' AND NOT LIKE 'B%' ...

Oder gibt es eine einfachere, unkompliziertere Methode?

(Ich will nicht nur Zahlen erwischen sondern auch Sonderzeichen etc. so dass wirklich gar nichts verschwunden bleiben kann.)

Danke für die Hilfe!

  1. Filtern:

    Du willst also irgendwie filtern, da gibts grundsätzlich die Möglichkeiten nur bestimmte Zeichen durchzulassen oder nur bestimmte Zeichen herauszufiltern. Ersteres ist meist richtig.

    Du schreibst einfach eine Funktion, stored procedure.

    Vielleicht gibt Dein RDBMS noch eingebaute Funktionen her, also bspw. sowas wie IS_NUMERIC() oder IS_ALPHABETIC(), auf jeden Fall da mal reinschauen (vgl. auch Stringfunktionen).

    1. Da ich bis heute im Glauben lag, dass per SQL nicht viel mehr zu machen ist als SELECT, UPDATE und konsorten danke ich dir doppelt für Tipp und Hilfe.

  2. hi,

    Nun will ich noch alle Einträge, die nicht mit einem Buchstaben von A-Z beginnen auswählen erwischen.

    Muss ich dazu eine Klammer schreiben mit:

    SELECT ... NOT LIKE 'A%' AND NOT LIKE 'B%' ...

    Oder gibt es eine einfachere, unkompliziertere Methode?

    Alles, was kleiner als 'A' und größer als 'Z' ist, ist ein sonstiges Zeichen.
    Betrachte also nur das erste Zeichen (Funktion LEFT, SUBSTR oder was auch immer dein DBMS dir dazu anbietet) - und prüfe auf diese beiden Bedingungen.

    (Wenn auch mit Kleinbuchstaben beginnende Inhalte vorkommen können, ist dies ggf. auch noch zu berücksichtigen.)

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      Alles, was kleiner als 'A' und größer als 'Z' ist, ist ein sonstiges Zeichen.
      Betrachte also nur das erste Zeichen (Funktion LEFT, SUBSTR oder was auch immer dein DBMS dir dazu anbietet) - und prüfe auf diese beiden Bedingungen.

      Ähm - aber besser nicht mit UND, sondern ODER natürlich :-)

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Huch, eigentlich sollte der erste Text hier drunter, aber es sei nichts desto trotz euch beiden gedankt ;)

        1. Huch, eigentlich sollte der erste Text hier drunter, aber es sei nichts desto trotz euch beiden gedankt ;)

          Warum ändert Ihr Brüder eigentlich immer die Namen? (Gerne auch in weibliche Formen, bringt das was?)

          1. hi,

            Warum ändert Ihr Brüder eigentlich immer die Namen?

            Die Erzengel arbeiten wohl zusammen an solchen Aufgaben.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }