Maximale Zeichen ermitteln...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Maximale Zeichen ermitteln...

    Hallo!
    Folgendes Problem:

    Ich habe eine Datenbank mit Name, Vorname, Geburtstag, etc.
    Ich schränke anhand eines Filters die Datensätze ein z.B. * from daten where name=müller
    Das selbe mit Geburtsdatum was auch immer.
    Wenn man die gewünschten Filter dann gesetzt hat bleiben dann logischerweise die Ergebnisse übrig.

    Nun das Problem. Nehmen wir mal ich habe 40.000 Datensätze.
    Ich selecte nun alle die In den letzten 2 Monaten Geburtstag hatten.
    Jetzt bleiben meinetwegen 3000 übrig.
    Diesen möchte ich nun eine SMS schreiben. Das SMS Tip Feld läuft mit Java und ist 160 Zeichen beschränkt. Ich möchte nun Platzhalter einsetzen wie ##Name## ##Vorname## ##Geburtstag##

    Wie ist es mir denn jetzt möglich diese Werte automatisch berechnen zu lassen.
    Ich will praktisch wenn ich den Platzhalter ##Name## setze in meinem Java Feld nur die Anzahl der Zeichen abgezogen bekommen, die der LÄNGSTE Nachname hat.
    Gibt es einen SQL Befehl der hingeht, alle Nachnamen durchzählt und mir die maximale Länge des längsten Nachnamens ausgibt!?
    Die meisten Provider gehen hin und definieren fixe Werte für diese Platzhalter, meist 15 Zeichen, ist ja schwachsinn, das müsste ja on the fly durchzuzählen sein, oder?


    Vielen Dank für Eure Hilfe!!

  • #2
    SELECT MAX(LENGTH('spaltenname')) FROM tabelle

    liefert dir die zahl des längsten eintrages der definierten spalte und tabelle

    Kommentar


    • #3
      das es hierfür eine sql funktion gibt, habe ich leider nicht gefunden. Aber um den speicherplatz deiner Datenbank zu verwalten, wurde doch sicherlich die Feldgrösse der einzelnen Atributte begrenzt, oder?

      ansonsten könnte ich mir vorstellen per PHP eine funktion zu schreiben die den Längsten name ermittlet.

      PHP-Code:
      b=0;
      while (
      $ausgabe mysql_fetch_array($datenbankergebnis)
      {
             
      $a strlen($ausgabe['name']);
             if 
      $a $b
             
      {
                   
      $b $a;
             }
      }
      echo 
      "der längste name hat: ".$b." buchstaben"
      Sollte funktionieren; ohne gewähr


      EDIT:

      ups, ich tippe zu langsam, nimm die Lösung von Maratin, ist besser

      ich heisse nicht maratin! => mortalan!

      Kommentar


      • #4
        wieso aber php-code verwenden, wenn du es über die DB machen kannst!

        überleg mal, wie lange es dauert, erst 100.000 Datensätze abzufragen und dann noch den längsten zu ermitteln!

        Kommentar


        • #5
          klar, hab in meiner refernez nur das length nicht gefunden, habe doch meinen beitrag schon geändert, aber die finger sind zu langsam

          ehre wem .....

          geb mich ja geschlagen

          Kommentar


          • #6
            is ja nicht schlimm

            Kommentar


            • #7
              DANKESCHÖN!

              Kommentar

              Lädt...
              X