Ich habe eine verschachtelte DECODE
-Anweisung, die ich versuche, von Oracle auf SQL Server umzuschreiben und es gibt mir passt. Kann mir jemand bitte helfen, diese Linie zu umschreiben:DECODE Erklärung zu SQL
DECODE(UR.UR_REG_IND, 'P', 'P', 'Y') = DECODE(:UR_REG_IND, 'B', DECODE(UR.UR_REG_IND, 'P', 'P', 'Y'), :UR_REG_IND)
ich die :UR_REG_IND
verstehen ist eine Eingangsgröße @UR_REG_IND
und ich verstehe auch die DECODE
eine Art von CASE
in SQL, aber ich bin alle Arten von Schwierigkeiten, versuchen, umschreiben Sie dies ohne eine verschachtelte CASE
Anweisung, wenn es sogar möglich ist.
'DECODE' ist eine Funktion, aber in Ihrem Beispiel scheinen Sie zuzuweisen, was ich glaube, dass es falsch ist (obwohl ich kein PL/SQL-Benutzer bin, weiß ich also nicht sicher). – Dai
Was ist * die Absicht * des Codes? Ich versuche zu folgen, was passieren soll, aber es sieht so aus, als wäre die Logik "gebe P zurück, wenn der Wert" P "ist, sonst gebe den Wert zurück" - was nutzloser Code ist. – Dai
Es sieht so aus, als hätten Sie hier einen verschachtelten DECODE. Warum versuchen Sie also verschachtelte Case-Ausdrücke zu vermeiden? Vielleicht, wenn Sie verbalisieren könnten, was Sie mit dem Code machen wollen, können wir Ihnen helfen, einen guten Ansatz dafür in t-sql zu finden. –