sql >> Database teknologi >  >> RDS >> Sqlserver

Rekursiv funktion i sql server 2005?

Søg efter "almindelige tabeludtryk." Se også dette link

Opdater Tilføjelse af eksempel fra det ovenfor refererede link:

;WITH Fibonacci(n, f, f1)
AS (
        -- This is the anchor part
        -- Initialize level to 1 and set the first two values as per definition
        SELECT  CAST(1 AS BIGINT),
                CAST(0 AS BIGINT),
                CAST(1 AS BIGINT)

        UNION ALL

        -- This is the recursive part
        -- Calculate the next Fibonacci value using the previous two values
        -- Shift column (place) for the sum in order to accomodate the previous
        -- value too because next iteration need them both
        SELECT  n + 1,
                f + f1,
                f
        FROM    Fibonacci
        -- Stop at iteration 93 because we than have reached maximum limit
        -- for BIGINT in Microsoft SQL Server
        WHERE   n < 93
)
-- Now the easy presentation part
SELECT  n,
        f AS Number
FROM    Fibonacci


  1. Erstat hele ord ved hjælp af ms sql server replace

  2. Lagring af specialtegn i DB på en sådan måde, at de vises korrekt på stedet og stadig finder billede med samme navn

  3. MYSQL kumulativ sum efter dato

  4. Hvordan sammenligner man værdier for sidste og næstsidste indtastning i tabellen?