sql >> Database >  >> RDS >> Sqlserver

CURRENT_TIMESTAMP Voorbeelden in SQL Server (T-SQL)

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       |
+----------+


  1. oratop

  2. Wat is SQL Server RAISERROR?

  3. Wat is de beste werkwijze voor primaire sleutels in tabellen?

  4. Ik heb het SQL Server ODBC-stuurprogramma geüpgraded en de prestaties zijn negatief beïnvloed. Wat kan ik doen?