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.
- KONVERTER( )
- TRY_CONVERT( )
- Bruk av understreng
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: