CASE-Funktion

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

  • CASE-Funktion

    Hallo,

    ich möchte eine Zeile auslesen und wenn in dieser Zeile die ersten beiden Zeichen ein * ist, dann soll "NEIN" im Datenbank-Feld stehen und wenn dort keine * zu finden sind soll der Inhalt des Feldes ausgegeben werden.

    Dazu habe ich folgendes SQL-Statement mit einer CASE-Funktion versucht umzusetzen.

    Aber es funktioniert irgendwie nicht. Ist es überhaupt möglich in einer CASE-Funktion auch LIKE zu verwenden?

    PHP-Code:
    SELECT CASE kreditkarten_nr WHEN LIKE '*%' THEN 'ja' ELSE kreditkarten_nr END
    FROM kunde_geaendert
    WHERE id 
    '49' 
    » http://www.htaccess-generator.com

  • #2
    Code:
    SELECT 
      if(instr('*',kreditkarten_nr),'ja',kreditkarten_nr) 
    FROM 
      kunde_geaendert
    WHERE 
      id = '49'
    so könnt klappen

    Kommentar


    • #3
      oder
      Code:
      select case 
        when col1 like '1%'' then 1
        when col2 like '2%' then 2
        when ...
        else col1
      end case
      ...

      Kommentar


      • #4
        Super danke,

        habe nun folgende Abfrage versucht... leider kommt immer die Meldung "Falsche Syntax in der Nähe des Like Schlüsselwortes". Kann mir jemand sagen, was in dem Statement falsch geschrieben ist?

        PHP-Code:
        SELECT t2.kontot2.blz, CASE t1.kontonumme
        WHEN
           
        (SELECT t1.kontonumme
           FROM kunde t1
           WHERE t1
        .kunde '15000'LIKE '*%' 
        THEN 'Ja' 
        ELSE 'NEIN'
        END CASE
        FROM kunde t2
        WHERE t2
        .kundennumm '15000' 
        Weiß jemand ein Forum für MSSQL-Server? Das Ganze soll nämlich auch in einem WWS mit einem MSSQL Server verwenden werden können.

        Vielen Dank für eure Hilfe!
        Zuletzt geändert von bweichel; 25.05.2005, 13:19.
        » http://www.htaccess-generator.com

        Kommentar


        • #5
          Liest du auch was man dir antwortet oder hast du einfach nur Spaß am Fragen?

          Kommentar


          • #6
            Hä? Was soll denn diese Bemerkung. Ich habe das Statment geschrieben und so abgeändert, aber es geht trotzdem noch nicht. Was ich vergessen habe ist "END CASE". Das habe ich gerade noch hinzugefügt. Geht trotzdem nicht. Immer noch der gleiche Fehler (Falsche Syntax in der Nähe des Like Schlüsselwort). Vielleich kann mich jemand auf meinen Fehler aufmerksam machen.
            » http://www.htaccess-generator.com

            Kommentar


            • #7
              wie wär's mit:

              Code:
              select t.konto, t.blz, 
                 case
                       when t.kontonumme like '*%' then 'ja'
                       else 'nein'
                 end case kontonumme
              from kunde t
              where t.kundennumm=15000
              außerdem hast du mal:

              WHERE t1.kunde = '15000') mal WHERE t.kundennumm = '15000'

              was soll denn das ...

              Kommentar


              • #8
                Hallo,

                ich habe folgende MYSQL-Statement und bekomme immer einen Fehler nach IF-Klasen bei Warengrupp = ''. Die Felder haben alle die richtige Bezeichnung - habe ich bereits mehrmals kontrolliert. Ich weiß einfach nicht wo der Fehler liegt.

                Kann mir vielleicht jemand sagen wo der Fehler liegt:

                PHP-Code:
                SELECT *, 
                IF 
                Warengrupp '' 
                    
                THEN (SELECT t2.Warengrupp FROM _sbb_lager t2 WHERE t2.xstylenr Artikelnum AND t2.xstyle 0 LIMIT 1
                    ELSE 
                Warengrupp 
                END 
                IF 
                FROM _sbb_lager 
                WHERE xstyle 

                AND Zusatztext != '' 
                AND Bild != '' 
                ORDER BY xedatum DESC 
                LIMIT 10 
                Vielen Dank!
                » http://www.htaccess-generator.com

                Kommentar

                Lädt...
                X