[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.077

    Cast & when Syntax Frage

    Hallo *all,
    nachdem die letzten Rakten im diesigen Himmel verschwunden sind, darf ich mich wieder meiner Lieblingsaufgabe stellen.

    Erstelle gerade eine View wo ich in Abhängigkeit einen Wert anzeigen will.


    cast(when test08 = 100 then 'I' else
    when test08 = 200 then 'O' else
    when test08 = 300 then 'A' else
    when test08 = 400 then 'V else '*' end
    as char(8) ccsid 273) as rubrik,

    Irgendwie ist die Syntax nicht richtig.
    Kann mir einmal bitte jemand auf die Sprünge helfen?

    GG

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... vielleicht so:
    SELECT
    cast(
    case
    when id = 100 then 'I'
    when id = 200 then 'O'
    when id = 300 then 'A'
    when id = 400 then 'V'
    else '*'
    end as char(8) ccsid 273) as hugo
    FROM dsternb1.covelenz

    D*B

    PS: eine Umsetzungstabelle dazu joinen ist wohl vorzuziehen.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Danke für die Antwort, hat mir geholfen, bei 4 Möglichkeiten wäre die Tabelle die berühmte Kanonenkugel oder....


    GG

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Allerdings nicht, wenn der case-Ausdruck dann im Where wiederholt wird.

    Für obiges gibt's eine Kurzform:

    case ID
    when 100 then 'I'
    when 200 then 'O'
    when 300 then 'A'
    when 400 then 'V'
    else '*'
    end

    Die obige Form ist sinnvoll wenn man andere Vergleiche als "=" benötigt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... wenn man das in der Modellierung machen würde, käme immer eine Table dabei raus (und meist ist das auch performanter)...
    @Abkürzung: ich habe keinen Bock mir mehrere Konstrukte zu merken und nehme eher die universellere Formulierung, für die Query Engine sollte das egal sein Ansonsten hat sie einen Schuss).

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. CAST(SUM(SUBSTR
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 05-05-14, 16:42
  2. SQL CAST als Datum bei fehlerhaften Werten
    By Moonwalker in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 15-12-13, 15:23
  3. SQL-Frage
    By jgv in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 06-11-13, 14:41
  4. SQL Frage
    By Franz.Rung in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-11-13, 15:32
  5. CAST von Numeric nach Date via SQL
    By KB in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 15-05-01, 10:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •