SQL => INITCAP()

Dieses Thema SQL => INITCAP() im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Ciryx, 22. Juni 2006.

Thema: SQL => INITCAP() Hallo zusammen... Ich habe eine Frage zum SQL Befehl INITCAP(). Leider funktioniert dieser Befehl bei mir nicht....

  1. Hallo zusammen...

    Ich habe eine Frage zum SQL Befehl INITCAP(). Leider funktioniert dieser Befehl bei mir nicht. Weiss jemand von euch die Voraussetzungen? Ich benütze die MySQL Version 4.1.10a.

    Danke für Eure Hilfe
     
  2. wenn man auf http://dev.mysql.com/doc/refman/4.1/en/index.html nach initcap sucht, findet er nix. ergo gehe ich mal davon aus, dass mysql diesen befehl nicht kennt. wo hast du den denn her?

    Lg
    M.
     
  3. Gut... dass es das bei Oracle und eventuell auch anderen DBMSen gibt, heisst jedoch nicht, dass MySQL das auch unterstützt. Aber offenbar lässt sich INITCAP ja auch durch andere Funktionen umschreiben...
    *quickanddirty*
    Code:
    SELECT CONCAT(
     UPPER(LEFT('hAlLo', 1)), 
     LOWER(RIGHT('hAlLo', LENGTH('hAlLo')-1))
    )
    
    Liefert Hallo

    Lg
    M.
     
  4. Momentan sieht mein Script eben so aus: (Es gibt den namen mit alles Kleinbuchstaben aus)

    Code:
    <?php
    echo <p class=\titel\>|>;
    
    $result = mysql_query(SELECT lower(name) as name_initcap FROM page_navi WHERE name =->$name');
    
     while($row = mysql_fetch_array($result)) {
    
    echo  $row[name_initcap];
    
    }
    
    echo-></p><br />';
    ?>
    
    Nun möchte ich den SQL bzw. MySQL Befehl so ausbauen das eben der erste Buchstaben gross ist! Kannst Du mir da Helfen?
     
  5. Ähhh... *selbstzitier*

     
  6. Ja... aber ich möchte doch eine Variable überprüfen die Aus der Datenbank ausgelesen wird. Das geht ja so nicht:

    Code:
    <?php
    echo <p class=\titel\>|>;
    
    $result = mysql_query(SELECT CONCAT(UPPER(LEFT('name', 1)), LOWER(RIGHT('name', LENGTH('name')-1))) as name_initcap FROM page_navi WHERE name =->$name');
    
    while($row = mysql_fetch_array($result)) {
    
    echo  $row[name_initcap];
    
    }
    
    echo-></p><br />';
    ?>
     
  7. Du darfst den Variablennamen nicht in Anführungsstriche setzen, wie du es bei LEFT('name', 1) und LENGTH('name') gemacht hast...
    Code:
    $result = mysql_query(SELECT CONCAT(UPPER(LEFT(name, 1)), LOWER(RIGHT(name, LENGTH(name)-1))) as name_initcap FROM page_navi WHERE name =->$name');
    Mein beispiel hat halt direkt mit Zeichenketten und nicht mit Variablen gearbeitet
     
  8. Ah wie dumm von mir...

    Nun funktioniert es selbstverständlich...

    Danke!
     
  9. Okay... gut zu wissen ;)