Wie zählen die Anzahl der Ziffern einer Zahl in oracle pl/sql?
Muss ich ändern Anzahl, die mit mehr als 5 Ziffern.LÄNGE-Funktion ist für Strings, aber nicht für die Anzahl der Ziffern.Was sollte getan werden, um die Anzahl der stellen einer Zahl?
- Ganze zahlen, oder haben Sie vielleicht umgehen mit Dezimalzahlen zu - und wenn ja, wie würden Sie gezählt?
- Es wäre hilfreich, wenn Sie erklären, warum Sie benötigen die Länge. z.B. ist es für arbeiten, die Anzahl der Zeichen, die benötigt werden, um format für die Anzeige oder Lagerung (z.B. in einer Textdatei)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausgabe 5
length
ist in Ordnung, mit einer impliziten oder explizitento_char()
um die Zahl zu konvertieren, um eine Zeichenfolge, deren Zeichen können dann gezählt werden, wie OldProgrammer zeigte.Wenn Sie wollen, um es zu behandeln wie eine Zahl, die Sie auch tun könnte:
... das funktioniert für ganze zahlen von über 2. Aber das wird eher weniger intuitiv für jemanden, der versucht zu halten Sie Ihren code später...
CASE WHEN TRUNC(n) = 0 THEN 1 ELSE FLOOR(log(10, ABS(TRUNC(n)))) +1 END