Necesito modificar el número que es tener más de 5 dígitos.La LONGITUD es función de la cadena, pero no para el número de dígitos.¿Qué se debe hacer para contar los dígitos de un número?

  • Enteros, o podría tener que lidiar con decimales – y si es así ¿cómo contar esas?
  • Sería de gran ayuda si usted indicar la razón por la que necesita la longitud. por ejemplo, es para trabajar el número de caracteres necesarios para el formato para la exhibición o el almacenamiento (por ejemplo, en un archivo de texto)?
InformationsquelleAutor SMITH | 2014-04-09

2 Comentarios

  1. 0

    length está muy bien, con un implícito o explícito to_char() para convertir el número a una cadena cuyos caracteres puede ser contada, como OldProgrammer mostró.

    Si quieres tratar como un número también puede hacerlo en:

    trunc(1/log(n, 10)) + 1

    … que funciona para los números enteros por encima de los 2. Pero eso va a ser más o menos intuitiva para alguien tratando de mantener el código lo más tarde…

    • ¿Por qué te sugieren hacer la conversión inversa del logaritmo? Sugiero una más correcta versión: CASE WHEN TRUNC(n) = 0 THEN 1 ELSE FLOOR(log(10, ABS(TRUNC(n)))) +1 END

Dejar respuesta

Please enter your comment!
Please enter your name here