De CURRENT_TIMESTAMP
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.
Deze functie is het ANSI SQL-equivalent van de T-SQL GETDATE()
functie, zodat u kunt gebruiken wat u maar wilt. Merk op dat beide functies een lager datumbereik en een lagere standaard fractionele precisie hebben dan de T-SQL SYSDATETIME()
functie (die een datetime2(7) . teruggeeft waarde).
Dit artikel bevat voorbeelden van de CURRENT_TIMESTAMP
functie, inclusief hoe u deze kunt gebruiken met andere functies om de waarde terug te geven waarin u geïnteresseerd bent.
Syntaxis
De syntaxis gaat als volgt:
CURRENT_TIMESTAMP
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 CURRENT_TIMESTAMP
. te retourneren :
SELECT CURRENT_TIMESTAMP AS Result;
Resultaat:
+-------------------------+ | Result | |-------------------------| | 2018-06-16 00:06:36.740 | +-------------------------+
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, CURRENT_TIMESTAMP) AS Result;
Resultaat:
+----------+ | Result | |----------| | 6 | +----------+
Hier is nog een voorbeeld met de MONTH()
functie. Het resultaat is hetzelfde.
SELECT MONTH(CURRENT_TIMESTAMP) 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, CURRENT_TIMESTAMP) 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(CURRENT_TIMESTAMP, 'd', 'en-US') AS 'd, en-US', FORMAT(CURRENT_TIMESTAMP, 'd', 'en-gb') AS 'd, en-gb', FORMAT(CURRENT_TIMESTAMP, 'D', 'en-US') AS 'D, en-US', FORMAT(CURRENT_TIMESTAMP, 'D', 'en-gb') AS 'D, en-gb';
Resultaat:
+------------+------------+-------------------------+--------------+ | d, en-US | d, en-gb | D, en-US | D, en-gb | |------------+------------+-------------------------+--------------| | 6/16/2018 | 16/06/2018 | Saturday, June 16, 2018 | 16 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 = CURRENT_TIMESTAMP; DECLARE @date2 datetime2 = DATEADD(month, 1, CURRENT_TIMESTAMP); SELECT DATEDIFF(day, @date1, @date2) AS Result;
Resultaat:
+----------+ | Result | |----------| | 30 | +----------+