sql >> Databasteknik >  >> RDS >> Sqlserver

CURRENT_TIMESTAMP Exempel i SQL Server (T-SQL)

CURRENT_TIMESTAMP funktion returnerar aktuellt datum och tid som en datetime värde. Detta värde härleds från operativsystemet på den dator som instansen av SQL Server körs på.

Denna funktion är ANSI SQL som motsvarar T-SQL GETDATE() funktion, så att du kan använda vilken du föredrar. Observera att båda funktionerna har ett lägre datumintervall och en lägre standardprecision än T-SQL SYSDATETIME() funktion (som returnerar en datetime2(7) värde).

Den här artikeln ger exempel på CURRENT_TIMESTAMP funktion, inklusive hur du kan använda den med andra funktioner för att returnera det värde du är intresserad av.

Syntax

Syntaxen ser ut så här:

CURRENT_TIMESTAMP

Så du anropar helt enkelt den här funktionen utan några argument.

Exempel

Här är ett grundläggande exempel på hur du använder en SELECT för att returnera aktuellt datum och tid från CURRENT_TIMESTAMP :

SELECT CURRENT_TIMESTAMP AS Result;

Resultat:

+-------------------------+
| Result                  |
|-------------------------|
| 2018-06-16 00:06:36.740 |
+-------------------------+

Extrahera en del av datumet

Om du bara vill ha en del av returvärdet kan du använda DATEPART() för att endast returnera den del av datumet/tiden som du är intresserad av.

Exempel:

SELECT DATEPART(month, CURRENT_TIMESTAMP) AS Result;

Resultat:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Här är ett annat exempel med MONTH() fungera. Resultatet är detsamma.

SELECT MONTH(CURRENT_TIMESTAMP) AS Result;

Resultat:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Båda dessa funktioner returnerar den aktuella månaden. Men de returnerar dem som ett heltal som representerar månadsnumret.

Om du vill ha månadens namn returneras istället kan du använda DATENAME() :

SELECT DATENAME(month, CURRENT_TIMESTAMP) AS Result;

Resultat:

+----------+
| Result   |
|----------|
| June     |
+----------+

Formatera datumet

Du kan också använda andra T-SQL-funktioner för att formatera datumet efter behov.

Här är ett exempel på hur du använder FORMAT() funktion för att formatera resultatet:

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';

Resultat:

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

Fler exempel på Hur man formaterar datum och tid i SQL Server.

Öka värdet och hitta skillnaden

Du kan använda funktioner som DATEDIFF() för att returnera skillnaden mellan det aktuella datumet och ett annat datum.

Här är ett exempel på hur du använder DATEADD() för att lägga till en månad till det aktuella datumet och sedan ta reda på skillnaden i dagar:

DECLARE @date1 datetime2 = CURRENT_TIMESTAMP;
DECLARE @date2 datetime2 = DATEADD(month, 1, CURRENT_TIMESTAMP);
SELECT DATEDIFF(day, @date1, @date2) AS Result;

Resultat:

+----------+
| Result   |
|----------|
| 30       |
+----------+


  1. Hur man installerar den senaste versionen av Sqlite aar när du använder Room On Android

  2. Kan inte ansluta till MySQL från Java:NullPointerException inuti MySQL-drivrutinanslutningslogiken

  3. Hitta dubbletter av poster i MySQL

  4. Få LÄNGDEN av en LONG RAW