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
- KONWERTUJ( )
- TRY_KONWERTUJ( )
- Korzystanie z podciągu
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: