Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

GETDATE() Exemples dans SQL Server (T-SQL)

Le GETDATE() la fonction renvoie la date et l'heure actuelles sous forme de datetime valeur. Cette valeur est dérivée du système d'exploitation de l'ordinateur sur lequel l'instance de SQL Server s'exécute.

Cet article fournit des exemples de GETDATE() fonction, y compris comment vous pouvez l'utiliser avec d'autres fonctions pour renvoyer la valeur qui vous intéresse.

Syntaxe

Tout d'abord, voici la syntaxe :

GETDATE ( )

Donc, vous appelez simplement cette fonction sans aucun argument.

Exemple

Voici un exemple basique d'utilisation d'un SELECT instruction pour renvoyer la date et l'heure actuelles à partir de GETDATE() :

SELECT GETDATE() AS Result;

Résultat :

+-------------------------+
| Result                  |
|-------------------------|
| 2018-06-15 23:54:42.013 |
+-------------------------+

Donc, comme mentionné, il renvoie un datetime valeur. Si vous voulez une valeur avec plus de secondes de précision fractionnaire, utilisez SYSDATETIME() Au lieu. Cette fonction renvoie un datetime2 valeur.

Extraire une partie de la date

Si vous ne voulez qu'une partie de la valeur de retour, vous pouvez utiliser DATEPART() pour renvoyer uniquement la partie de la date/heure qui vous intéresse.

Exemple :

SELECT DATEPART(month, GETDATE()) AS Result;

Résultat :

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

Parfois, il existe plusieurs façons d'obtenir le même résultat dans SQL Server. Voici un autre exemple utilisant le MONTH() fonction :

SELECT MONTH(GETDATE()) AS Result;

Résultat :

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

Ces deux fonctions renvoient le mois en cours. Mais ils les renvoient sous la forme d'un entier représentant le numéro du mois.

Si vous voulez le mois nom renvoyé à la place, vous pouvez utiliser DATENAME() :

SELECT DATENAME(month, GETDATE()) AS Result;

Résultat :

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

Formater la date

Vous pouvez également utiliser d'autres fonctions T-SQL pour formater la date selon vos besoins.

Voici un exemple d'utilisation du FORMAT() fonction pour formater le résultat :

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

Résultat :

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

Plus d'exemples sur Comment formater la date et l'heure dans SQL Server.

Incrémenter la valeur et trouver la différence

Vous pouvez utiliser des fonctions comme DATEDIFF() pour retourner la différence entre la date actuelle et une autre date.

Voici un exemple d'utilisation de DATEADD() pour ajouter un mois à la date du jour, puis connaître la différence en jours :

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

Résultat :

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