Tento článek zkoumá funkci DATEADD SQL a její využití scénáře s různými příklady.
Obvykle pracujeme s datovým typem data na serveru SQL Server. Musíme také manipulovat s daty. V mém předchozím článku DATEPART SQL FUNCTION jsme zkoumali načíst konkrétní část od data, jako je den, rok, měsíc, čtvrtletí, den v roce.
Můžeme použít funkci SQL SERVER DATEADD k přidání nebo odečtení konkrétního období od a dává datum.
Syntax
DATEADD (datepart, number, date)
- Datepart: Určuje část data, ve které chceme přidat nebo odečíst konkrétní časový interval. Může mít hodnoty jako rok, měsíc, den a týden. V tomto příkladu prozkoumáme více.
- Číslo: Je to číslo, o které chceme zvýšit nebo snížit datum. Mělo by to být celé číslo
- Datum: Zde můžeme určit datum. V tomto datu chceme přidat konkrétní číslo na datepart
Předpokládejme, že k aktuálnímu datu chceme přidat deset dní. V tomto příkladu by proměnné byly
- Hodnota Datepart: Den
- Číslo: 5
- Datum: Getdate () – aktuální datum
Prozkoumejte funkci SQL SERVER DATEADD s příklady
Datové typy ve funkci SQL SERVER DATEADD
Ve výrazu data můžeme použít následující datový typ.
- datum
- DateTime
- datetimeoffset
- datetime2
- smalldatetime
- čas
V následujícím dotazu jsme deklarovali proměnnou @date s datovým typem datetime2. Můžeme použít funkci DATEADD SQL podle následujícího dotazu.
Použití funkce SQL SERVER DATEADD k získání záznamů z tabulka ve specifikovaném časovém období
Pomocí funkce DATEADD SQL můžeme načíst záznamy z tabulky po určité období. V následujícím dotazu jsme zadali datum pomocí parametru @Startdate. Chceme načíst záznamy z tabulky Objednávky. Musíme získat záznamy mezi @StartDate a @Enddate (přidat 1 hodinu v počáteční datum).
Dostaneme následující výstup.
Použití funkce SQL SERVER DATEADD k získání data nebo časového rozdílu
Pomocí funkce DATEADD SQL můžeme získat časový rozdíl mezi počátečním a koncovým datem. Mnohokrát chceme k získání rozdílu dat použít funkci SQL SERVER DATEADD. Například bychom chtěli vědět, jak dlouho trvalo dokončení objednávky nebo jak dlouho trvalo, než jsme se dostali z domova do kanceláře.
Proveďte následující dotaz, abyste získali rozdíl mezi časem zahájení a časem ukončení. Používáme funkci DATEADD SQL spolu s funkcí DATEDIFF SQL.
Poskytuje uplynulý čas v minutách. Ve funkci DateADD SQL jsme zadali hodnotu 0. Trvá to datová hodnota 1900-01-01 00: 00: 00 000
K reprezentaci můžeme použít formát data převést SQL ve formátu HH: MM: SS.
Udává časový rozdíl ve formátu HH: MM: SS, jak je znázorněno na následujícím obrázku.
Zadejte výsledek funkce SQL SERVER DATEADD jako nový sloupec
Pomocí funkce SQL SERVER DATEADD můžeme po přidání požadované hodnoty data získat nový sloupec. V následujícím dotazu chceme přidat dva dny v počáteční datum a představovat to jako nový sloupec.
Skalární dílčí dotazy a skalární funkce ve funkci DATEADD SQL
Funkci SQL SERVER DATEADD můžeme použít také se skalárními dílčími dotazy a skalárními funkcemi. V následujícím dotazu chceme přidat počet dní v maximální hodnotě data LastEditedWhen v tabulce Sales.orders.
První poddotaz udává číslo 16496 a druhý dílčí dotaz poskytuje datum. K přidání počtu dní jsme použili funkci SQL SERVER DATEADD a dostaneme následující výstup.
Číselné výrazy v Funkce SQL SERVER DATEADD
Ve funkci SQL SERVER DATEADD můžeme používat také číselné výrazy. V následujícím dotazu použijeme k výpočtu čísla a zadání výstupu numerický výraz.
1
2
3
|
VYBERTE GETDATE () JAKO CurrentDate,
DATEADD (měsíc, – (12/6), GETDATE ()) AS ModifiedDate;
|
Použití DATEADD s funkcí Rank
Funkci DATEADD SQL můžeme použít také ve funkci Rank. Můžeme to použít pro argument číslo. V následujícím dotazu můžete vidět funkci Row_Number () pro použití parametru čísla a hodnot jako parametru data.
Závěr
V tomto článku jsme prozkoumali různá použití a příklady funkce DATEADD SQL. Umožňuje nám přidat nebo odečíst hodnoty datepart od zadaného data. Doufám, že se vám tento článek líbí. Neváhejte nám poskytnout zpětnou vazbu v komentářích níže.
- Autor
- Poslední příspěvky
Je tvůrcem jedné z největších bezplatných online sbírek článků na jedno téma se svou 50dílnou sérií o skupinách dostupnosti na serveru SQL Server Always On. Na základě svého příspěvku pro komunitu SQL Server byl oceněn různými oceněními, včetně prestižního ocenění „Nejlepší autor roku“ průběžně v letech 2020 a 2021 na serveru SQLShack.
Raj se vždy zajímá o nové výzvy, takže pokud potřebujete poradit pomoc s jakýmkoli tématem obsaženým v jeho spisech, lze ho kontaktovat na adrese [email protected]
Zobrazit všechny příspěvky od Rajendra Gupta
- Provádění drobných a hlavních upgradů verzí pro AWS RDS SQL Server – 29. ledna 2021
- Nasazení instancí AWS RDS PostgreSQL – 27. ledna 2021
- Migrace místních databází SQL na AWS RDS SQL Server pomocí AWS DMS – 25. ledna , 2021