Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Soma de dígitos de um número no sql server sem usar loops tradicionais como while


É um exercício divertido se um pouco inútil.
DECLARE @var1 int   = 12345;

WITH i AS (
    SELECT @var1 / 10 n, @var1 % 10 d

    UNION ALL

    SELECT n / 10, n % 10
    FROM i
    WHERE n > 0
)
SELECT SUM(d)
FROM i;