logo

Запит SQL для перетворення дати й часу в дату

У MS SQL Server дати складні для новачків, оскільки при роботі з базою даних формат дати в таблиці повинен збігатися з введеною датою для вставки. У різних сценаріях замість дати використовується DateTime (час також пов’язано з датою). У цій статті ми дізнаємося, як перетворити DateTime на DATE за допомогою трьох різних функцій.

Метою даних цієї статті є перетворення DateTime на дату в SQL Server, наприклад РРРР-ММ-ДД ГГ:ХМ: СС на РРРР-ММ-ДД.



Спосіб 1: використання cast

Це функція для приведення одного типу до іншого, тому тут ми будемо використовувати для приведення DateTime до дати.

Синтаксис:

CAST( dateToConvert AS DATE)>

приклад 1:



Запит:

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

Вихід:

рядок до внутр



GETDATE(): Ця функція повертає поточну дату і час, наприклад (2021-08-27 17:26:36.710)

Приклад 2;

Запит:

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

Вихід:

Спосіб 2: Використання Convert

Це функція для перетворення одного типу в інший, тому тут ми будемо використовувати її для перетворення DateTime на дату.

Синтаксис:

CONVERT(DATE, dateToConvert)>

приклад 1:

Запит:

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

Вихід:

приклад 2:

Запит:

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

Вихід:

Спосіб 3: Try_Convert

Це функція для перетворення одного типу в інший, тому тут ми будемо використовувати для перетворення DateTime на дату. якщо дата недійсна, тоді вона буде нульовою, поки Convert генерує помилку.

Синтаксис:

TRY_CONVERT(DATE, dateToConvert)>

ВИБРАТИ TRY_CONVERT(DATE,’2021-08-27 17:26:36.710′) AS CURRENT_DATE_GFG

приклад 1:

Запит:

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

Вихід:

приклад 2:

Запит:

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

Вихід:

Спосіб 4: Використання підрядка

Це функція, яка використовується для отримання короткого рядка або підрядка, тому тут ми отримуємо підрядок від 0 до 11 індексу.

Синтаксис:

SUBSTRING( dateToConvert ,0,11)>

приклад 1:

Запит:

зображення уцінки
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG>

Вихід:

Приклад 2;

Запит:

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

Вихід: