SQL-запрос для преобразования даты и времени в строку

Опубликовано: 1 Сентября, 2022

Чтобы преобразовать 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;

Выход: