У MS SQL Server дати складні для новачків, оскільки при роботі з базою даних формат дати в таблиці повинен збігатися з введеною датою для вставки. У різних сценаріях замість дати використовується DateTime (час також пов’язано з датою). У цій статті ми дізнаємося, як перетворити DateTime на DATE за допомогою трьох різних функцій.
- ПЕРЕТВОРЮВАТИ ( )
- TRY_CONVERT( )
- Використання підрядка
Метою даних цієї статті є перетворення 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>
Вихід: