Oracle-entspricht der NVL für die Anzahl Datentyp
Was ist die Oracle-entspricht der NVL für Zahl-Datentypen?
Dies funktioniert, da der Datentyp VARCHAR:
select nvl(Einschreiben.OUAC_APPLNO, 'blank') Invalid_OUAC_APPLNO
Aber das funktioniert nicht, weil der Datentyp ist ZAHL:
select nvl(Einschreiben.ouac_type_id, 'blank') REGTYP
Das hat nichts zu tun mit
NVL
. Sie können nicht select 42 from dual union select 'Arthur' from dual
. Eine Spalte muss den gleichen Datentyp in jeder Zeile.InformationsquelleAutor b00kgrrl | 2014-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt kein äquivalent und keine Oracle-Funktionen nehmen diese (abgesehen von
DECODE()
aber nicht, dass); Sie gehen zu müssen, konvertieren Sie Ihre Zahl in ein Zeichen:Müssen Sie möglicherweise ändern Sie die Anzahl der Zeichen, die Sie konvertieren, um als angemessen.
Aber ich weiß nicht, warum Sie das tun überhaupt. Durch die definition von NULL impliziert die nicht-Existenz. Wenn Sie anzeigen möchten
blank
um zu verleihen, die nicht-Existenz, das ist etwas, das Sie tun sollten, mit Ihrer Präsentation layer anstatt der Datenbank.InformationsquelleAutor Ben
es wird nicht funktionieren, denn oracle will, dass jede Zeile sollte in der gleichen Art anders können Sie keine Funktionen ausführen, die auf die Spalte, die Sie geworfen haben ouac_type_id zu varchar sein als unten;
InformationsquelleAutor dursun
select nvl(TO_CHAR(Einschreiben.OUAC_APPLNO), 'blank') REGTYP
InformationsquelleAutor Pradeep Bhandarkar