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.
- KONVERTER( )
- TRY_CONVERT( )
- Brug af understreng
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: