Dummy: MSSQL Befehl in MYSQL Befehl umwandeln

Wie müsste folgender Befehl in MySQL aussehen? Gibt ja kleine aber feine Unterschiede:

CASE
WHEN (PARTNER.bonussystem IS NULL OR PARTNER.bonussystem = '') AND NOT
(CHARINDEX('%', PARTNER.bonussystem) > 0) THEN
9999
ELSE
CAST(SUBSTRING(PARTNER.bonussystem, 1, CHARINDEX('%', PARTNER.bonussystem) -

  1. AS float)
    END
  1. Wie müsste folgender Befehl in MySQL aussehen? Gibt ja kleine aber feine Unterschiede:

    Gegenfrage: Wie sieht dein Ansatz aus und warum funktioniert er nicht?

    Frank

    1. Es geht um folgendes: Ich habe eine bestehende Datenbank in der ein Feld abgelegt ist, dass verschiedene Bonussysteme beinhaltet. Diese sollen sortiert werden. Es gibt verschiedene Möglichkeiten, wie die Bonussysteme angegeben sind.

      z.B. 5% ab 100 € oder auch 5.- ab 300.- oder es steht dort einfach Angebot oder das Feld ist leer.

      Jetzt sollen nach der Sortierung alle leeren Felder und alle mit dem Text Angebot oben in der Tabelle stehen, darunter die mit Prozentzeichen nach Prozentsatz absteigend sortiert, danach das gleiche mit den Beträgen.

      Ist sehr kompliziert, aber so gewünscht.

      Wie müsste folgender Befehl in MySQL aussehen? Gibt ja kleine aber feine Unterschiede:

      Gegenfrage: Wie sieht dein Ansatz aus und warum funktioniert er nicht?

      Frank

  2. yo,

    CASE kann auch mysql, CHARINDEX entspricht wohl INSTR.... wie auch immer, willst du, dass wir für dich die jeweiligen funktionen raussuchen und von MSSQL zu MYSQL übersetzen oder verstehe ich da jetzt was falsch ?

    Ilja

  3. Hallo,

    WHEN (PARTNER.bonussystem IS NULL OR PARTNER.bonussystem = '') AND NOT
    (CHARINDEX('%', PARTNER.bonussystem) > 0) THEN
    9999

    wenn ein Eintrag in einer bestimmten Spalte

    leer oder der Leerstring ist,

    kannst Du dann in diesem Eintrag ein x-beliebiges Zeichen finden?

    Freundliche Grüße

    Vinzenz