Datum- och numeriska förbättringar

Slutförd

SQL Server 2025 introducerar flera förbättringar av datum- och numeriska funktioner som förenklar tidsbaserad logik och aggregerade beräkningar.
De här uppdateringarna förenklar den dagliga utvecklingen, hjälper till att undvika konverteringsproblem och gör det mer praktiskt att arbeta med datum och numeriska värden i analys- och rapporteringsscenarier.

Översikt över förbättringar av datum och numeriska värden

CURRENT_DATE

En ny skalär funktion som returnerar det aktuella datumet utan en tidskomponent.
Det fungerar som ett enklare alternativ till CAST(GETDATE() AS DATE) och överensstämmer med ISO SQL-standarden.

DATEADD med bigint-stöd

Funktionen DATEADD stöder bigint nu datatypen för dess intervallparameter, vilket gör att utvecklare kan lägga till ett stort antal enheter till ett datum utan spill eller konverteringsproblem.
Den här förbättringen är särskilt användbar för tidsserieberäkningar eller simuleringar som omfattar långa varaktigheter.

Mängdfunktion för PRODUCT()

Den nya PRODUCT() mängdfunktionen multiplicerar alla numeriska värden som inte är NULL i en grupp.
Den kompletterar SUM() och AVG() genom att tillåta multiplikativ aggregering, till exempel beräkning av sammansatta tillväxthastigheter, skalningsfaktorer eller sannolikheter i flera steg.

Extern REST-anrop med sp_invoke_external_rest_endpoint

SQL Server 2025 lägger till systemproceduren sp_invoke_external_rest_endpointså att T-SQL kan anropa externa REST-API:er direkt. Detta möjliggör integrering med externa datakällor eller tjänster utan att lämna databasmotorn.

Exempel 1: Använda CURRENT_DATE för enklare datumlogik

Innan SQL Server 2025 krävdes ett uttryck som CAST(GETDATE() AS DATE) för att hämta dagens datum. Nu kan du hämta den direkt med CURRENT_DATE.

Fråga: Hämta aktuellt datum

SELECT CURRENT_DATE AS TodayDate;

Result

TodayDate
2025-10-14

Det här kommandot eliminerar onödiga typkonverteringar och förbättrar läsbarheten i frågor och lagrade procedurer.

Exempel 2: Lägga till stora tidsintervall med DATEADD(bigint)

I tidigare versioner DATEADD accepterades endast int värden för dess intervallparameter, som begränsade datumberäkningar för stora datamängder.
SQL Server 2025 stöder bigintnu , vilket möjliggör storskaliga datummanipuleringar.

Fråga: Simulera framtida datum under långa perioder

DECLARE @StartDate DATE = '2025-01-01';

SELECT
    DATEADD(DAY, CAST(365000 AS bigint), @StartDate) AS TenCenturyFuture,
    DATEADD(MINUTE, CAST(10000000 AS bigint), @StartDate) AS MinutesAhead;

Results

TenCenturyFuture MinutesAhead
3025-10-10 2044-02-12 10:40:00

Den här funktionen ger exakt kontroll för långsiktiga prognoser, tidssimuleringar eller schemaläggningsberäkningar som överskrider tidigare heltalsgränser.

Exempel 3: Beräkna sammansatt tillväxt med PRODUCT()

Aggregeringsfunktionen PRODUCT() förenklar beräkningen av kumulativa multiplikatorer.
I ekonomi eller analys kan det till exempel representera sammansatta tillväxttakter eller totala skalningsfaktorer.

Fråga: Beräkna sammansatt månatlig tillväxt

CREATE TABLE #GrowthRates (Month INT, Rate DECIMAL(6,4));
INSERT INTO #GrowthRates VALUES
(1, 1.0100),
(2, 1.0200),
(3, 0.9950),
(4, 1.0150);

SELECT PRODUCT(Rate) AS CompoundGrowth
FROM #GrowthRates;

Result

Sammansatt tillväxt
1.0404

I det här exemplet PRODUCT() multipliceras alla hastighetsvärden för att skapa ett enda sammansatt resultat.
Det kan kombineras med GROUP BY för att beräkna resultat mellan flera entiteter eller tidsperioder.

Exempel 4: Kombinera alla tre funktionerna

Följande fråga visar alla nya funktioner tillsammans i ett rapporteringsscenario.
Den beräknar den beräknade lagertillväxten över tid med dagens datum som baslinje.

DECLARE @BaselineDate DATE = CURRENT_DATE;

WITH GrowthCTE AS
(
    SELECT WarehouseID, PRODUCT(GrowthFactor) AS CompoundGrowth
    FROM InventoryGrowth
    GROUP BY WarehouseID
)
SELECT
    WarehouseID,
    @BaselineDate AS StartDate,
    DATEADD(DAY, 365 * 5, @BaselineDate) AS FiveYearProjection,
    CompoundGrowth
FROM GrowthCTE;

Result

WarehouseID Startdatum Femårsprognos Sammansatt tillväxt
101 2025-10-14 2030-10-13 1.2185
102 2025-10-14 2030-10-13 1.1052

Den här frågan visar hur CURRENT_DATE, DATEADD(bigint)och PRODUCT() arbetar tillsammans för att stödja analys- och planeringsarbetsbelastningar i SQL Server 2025.

Sammanfattning

SQL Server 2025 förbättrar datum- och numerisk hantering med enklare syntax och större beräkningsflexier.
CURRENT_DATE erbjuder ett tydligt sätt att hämta dagens datum, DATEADD(bigint) utökar stödet för stora intervall och PRODUCT() lägger till en kraftfull ny aggregeringsmetod.
Tillsammans gör dessa förbättringar T-SQL mer uttrycksfullt, konsekvent och kapabelt för moderna affärs- och vetenskapliga arbetsbelastningar.