[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2006
    Beiträge
    11

    Insert into mit Hostvariablen und Case

    Hallo zusammen,

    die Case-Struktur in meiner Insert-Anweisung innerhalb einer Prozedur gibt nicht das gewünschte Ergebnis zurück. Auch wenn bestellnr = ' ' ist oder Buchstaben enthält, wird dec(:bestellnr, 10, 0) als value-Wert ermittelt, was verständlicherweise zu einem Datenumsetzungsfehler führt. Was ist falsch an meiner case-Abfrage? Wie erreiche ich das 0 zurückgegeben wird, wenn die Bedingungen nicht erfüllt ist?


    exec sql insert into tabelle
    (id, referenz, bestelldatum)
    values(:transid,
    case
    when :bestellnr <> ' ' and
    substr(:bestellnr, 1, 1) in
    ('1', '2', '3', '4', '5', '6', '7', '8', '9', '0')
    and substr(:bestellnr, 2, 1) in
    ('1', '2', '3', '4', '5', '6', '7', '8', '9', '0')
    then dec(:bestellnr, 10, 0)
    else 0
    end,
    :isodatum)
    with nc;

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Eventuell ist dein "BLANK" nicht das gleiche "BLANK" (hex) auf das in SQL geprüft wird.

    Code:
    case
    when :bestellnr <> ' ' and :bestellnr <> X'40' ...
    lg Andreas

  3. #3
    Registriert seit
    Sep 2006
    Beiträge
    11
    Hallo Andreas,

    das war des Rätsels Lösung.
    Vielen Dank für die schnelle Antwort. Sql ist manchmal nicht ganz einfach.

    Gruß
    Norbi

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Probier mal mit einer leeren Zeichenkette: :bestellnr <> ''

Similar Threads

  1. Exec SQL INSERT INTO und Array?
    By SourceCoder in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 25-01-13, 08:48
  2. Insert into über Verbindungsserver
    By Ha__Pe in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 20-09-10, 14:01
  3. dynamisches Group by funktioniert nicht
    By Tobse77 in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 24-09-09, 08:31
  4. Antworten: 2
    Letzter Beitrag: 24-02-05, 18:18
  5. geht dieser SQL-Befehl auch einfacher?
    By rebe in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 13-02-02, 13:13

Berechtigungen

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