Requête SQL pour convertir la date et l'heure en date
Dans MS SQL Server, les dates sont compliquées pour les débutants, car lors de l'utilisation de la base de données, le format de la date dans le tableau doit correspondre à la date d'entrée pour pouvoir être insérée. Dans divers scénarios, au lieu de la date, DateTime (l'heure est également impliquée dans la date) est utilisé. Dans cet article, nous apprendrons comment convertir un DateTime en DATE en utilisant les trois fonctions différentes.
- CONVERTIR( )
- TRY_CONVERT( )
- Utiliser une sous-chaîne
Le but des données de cet article est de convertir DateTime en Date dans SQL Server comme AAAA-MM-JJ HH:MM: SS en AAAA-MM-JJ.
Méthode 1 : utilisation de la distribution
Il s'agit d'une fonction permettant de convertir un type en un autre type. Nous l'utiliserons donc ici pour convertir DateTime en date.
Syntaxe:
CAST( dateToConvert AS DATE)
Exemple 1:
Requête:
SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE
Sortir:
AVOIR UN RENDEZ-VOUS(): Cette fonction renvoie la date et l'heure actuelles comme (2021-08-27 17:26:36.710)
Exemple 2 ;
Requête:
SELECT CAST('2021-08-27 17:26:36.710' AS DATE) AS CURRENT_DATE_GFG Sortir:
Méthode 2 : utiliser Convert
Il s'agit d'une fonction permettant de convertir un type en un autre type. Nous allons donc l'utiliser ici pour convertir DateTime en date.
Syntaxe:
CONVERT(DATE, dateToConvert)
Exemple 1:
Requête:
SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG
Sortir:
Exemple 2 :
Requête:
SELECT CONVERT(DATE, '2021-08-27 17:26:36.710' ) AS CURRENT_DATE_GFG
Sortir:
Méthode 3 : Try_Convert
Il s'agit d'une fonction permettant de convertir un type en un autre type. Nous l'utiliserons donc ici pour convertir DateTime en date. si la date n'est pas valide, elle sera nulle tandis que Convert génère une erreur.
Syntaxe:
TRY_CONVERT(DATE, dateToConvert)
SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710′) AS CURRENT_DATE_GFG
Exemple 1:
Requête:
SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG
Sortir:
Exemple 2 :
Requête:
SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710') AS CURRENT_DATE_GFG
Sortir:
Méthode 4 : utiliser une sous-chaîne
Il s'agit d'une fonction à utiliser pour obtenir une chaîne courte ou une sous-chaîne, donc ici, nous obtenons l'index de la sous-chaîne 0 à 11.
Syntaxe:
SUBSTRING( dateToConvert ,0,11)
Exemple 1:
Requête:
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG
Sortir:
Exemple 2 ;
Requête:
SELECT SUBSTRING( CONVERT(varchar(17), GETDATE(), 23) ,0,11) AS CURRENT_DATE_GFG
Sortir: