sql >> Database >  >> RDS >> Sqlserver

SQL-functies - faculteit

Een niet-recursieve manier

;With Nums As
(
select ROW_NUMBER() OVER (ORDER BY (SELECT 0)) AS RN
FROM sys.objects
)
SELECT  POWER(10.0, SUM(LOG10(RN)))
FROM Nums
WHERE RN <= 10

En een recursieve manier

declare @target int
set @target=10;

WITH N AS
     (SELECT 1 AS i,
           1 AS f

     UNION ALL

     SELECT i+1,
            f*(i+1)
     FROM   N
     WHERE  i < @target
     )
SELECT f FROM N
WHERE [email protected]


  1. ongeldig naampatroon bij poging om aangepaste objecttoewijzing van het orakeltype door te geven

  2. Het aanroepen van een procedure binnen een functie genereert MySQL ERROR 1422

  3. Mysql-query GROUP by en ORDER by

  4. Symfony2 Doctrine PDO MySQL Verbinding met LOAD DATA LOKAAL INFILE