sql >> データベース >  >> RDS >> Sqlserver

SQL関数-階乗

    非再帰的な方法

    ;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
    

    そして再帰的な方法

    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. Eloquentを使用してオブジェクトの配列を含むjsonフィールドを検索する方法

    2. OracleSQLのすべてのタイムスタンプレコード間の平均処理時間を見つける必要があります

    3. PostgreSQLのsecurity_barrierビューはどのように機能しますか?

    4. テーブルに配列を格納/取得するための最適な方法