logo

SQL dotaz pro převod data a času na datum

V MS SQL Serveru jsou data pro nováčky komplikovaná, protože při práci s databází musí formát data v tabulce odpovídat vstupnímu datu, aby bylo možné vložit. V různých scénářích se místo data používá DateTime (čas je také spojen s datem). V tomto článku se naučíme, jak převést DateTime na DATE pomocí tří různých funkcí.

algoritmus řazení haldy

Cílem dat tohoto článku je převést datum a čas na datum na serveru SQL Server, jako je RRRR-MM-DD HH:MM: SS na RRRR-MM-DD.



Metoda 1: Použití obsazení

Toto je funkce pro přetypování jednoho typu na jiný typ, zde tedy použijeme pro přetypování DateTime k datu.

Syntax:

CAST( dateToConvert AS DATE)>

Příklad 1:



Dotaz:

SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE>

Výstup:



GETDATE(): Tato funkce vrátí aktuální datum a čas jako (2021-08-27 17:26:36.710)

Příklad 2;

Dotaz:

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

Výstup:

Metoda 2: Použití převodu

Toto je funkce pro převod jednoho typu na jiný typ, takže zde ji použijeme k převodu DateTime na datum.

Syntax:

CONVERT(DATE, dateToConvert)>

Příklad 1:

Dotaz:

SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG>

Výstup:

Příklad 2:

nahradit z řetězce v Javě

Dotaz:

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

Výstup:

Metoda 3: Try_Convert

Toto je funkce pro přetypování jednoho typu na jiný typ, zde tedy použijeme pro Převést datum a čas na datum. pokud je datum neplatné, bude null, zatímco Convert generuje chybu.

Syntax:

TRY_CONVERT(DATE, dateToConvert)>

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

Příklad 1:

Dotaz:

SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG>

Výstup:

Příklad 2:

Dotaz:

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

Výstup:

Metoda 4: Použití podřetězce

Toto je funkce, která se používá k získání krátkého řetězce nebo podřetězce, takže zde pomocí dostaneme podřetězec 0 až 11 index.

Syntax:

SUBSTRING( dateToConvert ,0,11)>

Příklad 1:

Dotaz:

bash délka struny
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG>

Výstup:

Příklad 2;

Dotaz:

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

Výstup: