logo

Zapytanie SQL konwertujące datę i godzinę na datę

W MS SQL Server daty są skomplikowane dla początkujących, ponieważ podczas pracy z bazą danych format daty w tabeli musi być zgodny z datą wprowadzoną, aby można było ją wstawić. W różnych scenariuszach zamiast daty używana jest data i godzina (czas jest również powiązany z datą). W tym artykule dowiemy się, jak przekonwertować DateTime na DATE za pomocą trzech różnych funkcji.

alternatywy dla watchcartoononline.io

Celem danych tego artykułu jest konwersja daty i godziny na datę w SQL Server, np. RRRR-MM-DD HH:MM: SS na RRRR-MM-DD.



Metoda 1: Korzystanie z obsady

Jest to funkcja służąca do rzutowania jednego typu na inny. Zatem tutaj będziemy używać dotychczasowego rzutowania DateTime.

Składnia:

CAST( dateToConvert AS DATE)>

Przykład 1:



Zapytanie:

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

Wyjście:



POBIERZDATĘ(): Ta funkcja zwraca bieżącą datę i godzinę, np. (2021-08-27 17:26:36.710)

Przykład 2;

Zapytanie:

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

Wyjście:

Metoda 2: Korzystanie z konwersji

Jest to funkcja służąca do konwersji jednego typu na inny. Tutaj więc użyjemy jej do przekonwertowania daty i godziny.

Składnia:

CONVERT(DATE, dateToConvert)>

Przykład 1:

Zapytanie:

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

Wyjście:

Przykład 2:

Zapytanie:

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

Wyjście:

Metoda 3: Try_Convert

Jest to funkcja służąca do rzutowania jednego typu na inny. Tutaj więc użyjemy dotychczasowej funkcji Convert DateTime. jeśli data jest nieprawidłowa, będzie miała wartość null, a Convert wygeneruje błąd.

Składnia:

TRY_CONVERT(DATE, dateToConvert)>

WYBIERZ TRY_CONVERT (DATA, 2021-08-27 17:26:36.710′) AS CURRENT_DATE_GFG

Przykład 1:

Zapytanie:

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

Wyjście:

Przykład 2:

Zapytanie:

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

Wyjście:

Metoda 4: Używanie podciągu

Jest to funkcja służąca do pobierania krótkiego ciągu znaków lub podciągu, zatem w tym przypadku otrzymamy podciąg o indeksie od 0 do 11.

Składnia:

SUBSTRING( dateToConvert ,0,11)>

Przykład 1:

Zapytanie:

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

Wyjście:

Przykład 2;

Zapytanie:

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

Wyjście: