sql >> Base de Datos >  >> RDS >> Sqlserver

Obtenga el número de dígitos después del punto decimal de un flotante (con o sin parte decimal)

Puedes hacerlo de la siguiente manera:

CONSULTA

SELECT Amount, 
       CASE WHEN FLOOR(Amount) <> CEILING(Amount) THEN LEN(CONVERT(INT,CONVERT(FLOAT,REVERSE(CONVERT(VARCHAR(50), Amount, 128))))) ELSE 0 END AS Result
FROM YourTable

SALIDA

Amount      Result
123         0
123,1       1
123,0123    4
123,789456  6