SQL-forespørgsel til at konvertere dato og klokkeslæt til dato

I MS SQL Server er datoer komplicerede for nybegyndere, da når man arbejder med databasen, skal formatet på datoen i tabellen matches med inputdatoen for at kunne indsætte. I forskellige scenarier i stedet for dato, bruges DateTime (tid er også involveret i dato). I denne artikel vil vi lære, hvordan du konverterer en DateTime til en DATO ved at bruge de tre forskellige funktioner.

Formålet med denne artikels data er at konvertere DateTime til Date i SQL Server som ÅÅÅÅ-MM-DD TT:MM: SS til ÅÅÅÅ-MM-DD.

Metode 1: Brug af støbt

Dette er en funktion til at caste en type til en anden type, så her vil vi bruge til cast DateTime til dato.

Syntaks:

CAST( dateToConvert AS DATE) 

Eksempel 1:

Forespørgsel:

SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE 

Produktion:

GETDATE(): Denne funktion returnerer aktuel dato tid som (2021-08-27 17:26:36.710)

Eksempel 2;

Forespørgsel:

SELECT CAST('2021-08-27 17:26:36.710' AS DATE) AS CURRENT_DATE_GFG 

Produktion:

Metode 2: Brug af Convert

Dette er en funktion til at konvertere en type til en anden type, så her vil vi bruge den til at konvertere DateTime til dato.

Syntaks:

CONVERT(DATE, dateToConvert) 

Eksempel 1:

Forespørgsel:

SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG 

Produktion:

Eksempel 2:

Forespørgsel:

SELECT CONVERT(DATE, '2021-08-27 17:26:36.710' ) AS CURRENT_DATE_GFG 

Produktion:

Metode 3: Try_Convert

Dette er en funktion til at caste en type til en anden type, så her vil vi bruge til Konverter DateTime til dato. hvis datoen er ugyldig, vil den være nul, mens Convert genererer en fejl.

Syntaks:

TRY_CONVERT(DATE, dateToConvert) 

VÆLG TRY_CONVERT(DATE,’2021-08-27 17:26:36.710′) AS CURRENT_DATE_GFG

Eksempel 1:

Forespørgsel:

SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG 

Produktion:

Eksempel 2:

Forespørgsel:

SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710') AS CURRENT_DATE_GFG 

Produktion:

Metode 4: Brug af understreng

Dette er en funktion at bruge få en kort streng eller understreng, så her brug får vi understreng 0 til 11 indeks.

Syntaks:

SUBSTRING( dateToConvert ,0,11) 

Eksempel 1:

Forespørgsel:

SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG 

Produktion:

Eksempel 2;

Forespørgsel:

SELECT SUBSTRING( CONVERT(varchar(17), GETDATE(), 23) ,0,11) AS CURRENT_DATE_GFG 

Produktion: