SQL-запрос для преобразования даты и времени в строку
Чтобы преобразовать DateTime в строку, мы можем использовать функции CONVERT() и CAST(). Эти функции используются для преобразования значения (любого типа данных) в указанный тип данных.
ПРЕОБРАЗОВАТЬ() Функция
Синтаксис:
CONVERT(VARCHAR, datetime [,style])
- VARCHAR — представляет строковый тип.
- datetime — это может быть выражение, оценивающее значение даты или даты и времени, которое вы хотите преобразовать в строку.
- стиль — определяет формат даты. Его значение предопределено SQL Server. Параметр стиля является необязательным.
ПРИСЫЛ() Функция
Синтаксис:
CAST(EXPRESSION AS DATATYPE(length))
- ВЫРАЖЕНИЕ — представляет собой значение, которое необходимо преобразовать.
- DATATYPE — это тип данных, в которые мы хотим преобразовать наше выражение.
- длина — представляет длину результирующего типа данных (необязательно).
Без Век (ГГ) | С Век(ГГГГ) | Стандарт | Формат |
---|---|---|---|
– | 0 или 100 | По умолчанию для даты и времени и маленькое время | пн дд гггг чч: miAM (или PM) |
1 | 101 | НАС | 1 = мм/дд/гг 101 = мм/дд/гггг |
2 | 102 | ANSI | 2 = гг.мм.дд 102 = гггг.мм.дд |
3 | 103 | британский/французский | 3 = дд/мм/гг 103 = дд/мм/гггг |
4 | 104 | Немецкий | 4 = дд.мм.гг 104 = дд.мм.гггг |
5 | 105 | итальянский | 5 = дд-мм-гг 105 = дд-мм-гггг |
6 | 106 | – | 6 = дд мес гг 106 = дд мес гггг |
7 | 107 | – | 7 = пн дд, гг 107 = пн дд, гггг |
8 | 108 | – | чч:мм:сс |
В приведенном ниже примере мы преобразуем DateTime в строку в разных форматах.
Шаг 1: Создайте базу данных
Запрос:
CREATE DATABASE Product_order;
Шаг 2: Создайте таблицу
Теперь нам нужно создать таблицу внутри нашей базы данных. Для этого мы будем использовать оператор CREATE.
Запрос:
CREATE TABLE orders (prod_id INT, prod_name VARCHAR(255), order_date DATE, PRIMARY KEY(prod_id));
Шаг 3. Вставьте данные в таблицу.
На этом шаге мы вставим данные в нашу таблицу заказов. Для вставки данных мы будем использовать оператор INSERT.
Запрос:
INSERT INTO orders VALUES (101, "iPhone", "2020-07-20"), (102, "iPad", "2018-01-01"), (103, "iWatch", "2019-03-15"), (104, "iMac", "2016-05-13");
Шаг 4: Чтобы проверить содержимое таблицы, мы будем использовать оператор SELECT.
SELECT * FROM orders;
Выход:
Шаг 5: Использование функции CONVERT()
Запрос :
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 101); /*SELECT statement is used to print the s1 message*/ SELECT CONVERT(VARCHAR(20),@dt,0) s1;
Выход:
Запрос :
Здесь мы меняем параметр стиля на 1. Точно так же вы можете использовать другие значения параметра стиля из приведенной выше таблицы.
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 103); /*SELECT statement is used to print the s1 message*/ SELECT CONVERT(VARCHAR(20),@dt,1) s1;
Выход :
Шаг 6: Использование функции CAST()
Запрос:
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 102); /*SELECT statement is used to print the s1 message*/ SELECT CAST(@dt AS DATETIME) s1;
Выход: