SQL-spørring for å konvertere dato og klokkeslett til dato

I MS SQL Server er datoer kompliserte for nybegynnere, siden når du arbeider med databasen, må formatet til datoen i tabellen samsvare med inndatadatoen for å kunne settes inn. I ulike scenarier i stedet for dato, brukes DateTime (tid er også involvert med dato). I denne artikkelen vil vi lære hvordan du konverterer en DateTime til en DATO ved å bruke de tre forskjellige funksjonene.

Målet med denne artikkelen data er å konvertere DateTime til Dato i SQL Server som ÅÅÅÅ-MM-DD TT:MM: SS til ÅÅÅÅ-MM-DD.

Metode 1: Bruk av støpt

Dette er en funksjon for å kaste en type til en annen type, så her vil vi bruke for cast DateTime til dags dato.

Syntaks:

CAST( dateToConvert AS DATE) 

Eksempel 1:

Spørsmål:

SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE 

Produksjon:

GETDATE(): Denne funksjonen returnerer gjeldende dato klokkeslett like(2021-08-27 17:26:36.710)

Eksempel 2;

Spørsmål:

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

Produksjon:

Metode 2: Bruke Convert

Dette er en funksjon for å konvertere en type til en annen type, så her vil vi bruke den til å konvertere DateTime til dato.

Syntaks:

CONVERT(DATE, dateToConvert) 

Eksempel 1:

Spørsmål:

SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG 

Produksjon:

Eksempel 2:

Spørsmål:

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

Produksjon:

Metode 3: Try_Convert

Dette er en funksjon for å caste en type til en annen type, så her vil vi bruke for Konverter DateTime til dato. hvis datoen er ugyldig, vil den være null mens Convert genererer en feil.

Syntaks:

TRY_CONVERT(DATE, dateToConvert) 

VELG TRY_CONVERT(DATE,’2021-08-27 17:26:36.710′) SOM CURRENT_DATE_GFG

Eksempel 1:

Spørsmål:

SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG 

Produksjon:

Eksempel 2:

Spørsmål:

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

Produksjon:

Metode 4: Bruk av delstreng

Dette er en funksjon å bruke for å få en kort streng eller delstreng, så her får vi delstreng 0 til 11 indeks.

Syntaks:

SUBSTRING( dateToConvert ,0,11) 

Eksempel 1:

Spørsmål:

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

Produksjon:

Eksempel 2;

Spørsmål:

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

Produksjon: