De GETDATE()
functie retourneert de huidige datum en tijd als een datetime waarde. Deze waarde is afgeleid van het besturingssysteem van de computer waarop het exemplaar van SQL Server wordt uitgevoerd.
Dit artikel geeft voorbeelden van de GETDATE()
functie, inclusief hoe u deze kunt gebruiken met andere functies om de waarde terug te geven waarin u geïnteresseerd bent.
Syntaxis
Ten eerste, hier is de syntaxis:
GETDATE ( )
Dus je roept deze functie gewoon aan zonder argumenten.
Voorbeeld
Hier is een eenvoudig voorbeeld van het gebruik van een SELECT
statement om de huidige datum en tijd van GETDATE()
. te retourneren :
SELECT GETDATE() AS Result;
Resultaat:
+-------------------------+ | Result | |-------------------------| | 2018-06-15 23:54:42.013 | +-------------------------+
Dus zoals vermeld, retourneert het een datetime waarde. Als je een waarde wilt met een fractionele precisie van meer seconden, gebruik dan SYSDATETIME()
in plaats van. Die functie retourneert een datetime2 waarde.
Een deel van de datum extraheren
Als u slechts een deel van de retourwaarde wilt, kunt u DATEPART()
. gebruiken om alleen dat deel van de datum/tijd terug te geven waarin u geïnteresseerd bent.
Voorbeeld:
SELECT DATEPART(month, GETDATE()) AS Result;
Resultaat:
+----------+ | Result | |----------| | 6 | +----------+
Soms is er meer dan één manier om hetzelfde resultaat te krijgen in SQL Server. Hier is nog een voorbeeld met de MONTH()
functie:
SELECT MONTH(GETDATE()) AS Result;
Resultaat:
+----------+ | Result | |----------| | 6 | +----------+
Beide functies retourneren de huidige maand. Maar ze geven ze terug als een geheel getal dat het maandnummer vertegenwoordigt.
Als je de maand naam wilt in plaats daarvan geretourneerd, kunt u DATENAME()
. gebruiken :
SELECT DATENAME(month, GETDATE()) AS Result;
Resultaat:
+----------+ | Result | |----------| | June | +----------+
Maak de datum op
U kunt ook andere T-SQL-functies gebruiken om de datum naar wens op te maken.
Hier is een voorbeeld van het gebruik van de FORMAT()
functie om het resultaat op te maken:
SELECT FORMAT(GETDATE(), 'd', 'en-US') AS 'd, en-US', FORMAT(GETDATE(), 'd', 'en-gb') AS 'd, en-gb', FORMAT(GETDATE(), 'D', 'en-US') AS 'D, en-US', FORMAT(GETDATE(), 'D', 'en-gb') AS 'D, en-gb';
Resultaat:
+------------+------------+-----------------------+--------------+ | d, en-US | d, en-gb | D, en-US | D, en-gb | |------------+------------+-----------------------+--------------| | 6/15/2018 | 15/06/2018 | Friday, June 15, 2018 | 15 June 2018 | +------------+------------+-----------------------+--------------+
Meer voorbeelden op Hoe de datum en tijd in SQL Server te formatteren.
De waarde verhogen en het verschil vinden
U kunt functies gebruiken zoals DATEDIFF()
om het verschil tussen de huidige datum en een andere datum te retourneren.
Hier is een voorbeeld van het gebruik van DATEADD()
om een maand toe te voegen aan de huidige datum en vervolgens het verschil in dagen te zien:
DECLARE @date1 datetime2 = GETDATE(); DECLARE @date2 datetime2 = DATEADD(month, 1, GETDATE()); SELECT DATEDIFF(day, @date1, @date2) AS Result;
Resultaat:
+----------+ | Result | |----------| | 30 | +----------+