Функция SQL Server CONVERT

В этом руководстве вы узнаете, как использовать функцию SQL Server CONVERT() для преобразования значения одного типа в другой.

Введение в функцию SQL Server CONVERT()

Функция CONVERT() позволяет преобразовать значение одного типа в другой.

Ниже показан синтаксис функции CONVERT():

CONVERT( target_type [( length ) ] , expression [ , style ] )  

В этом синтаксисе:

  • target_type — целевой тип данных, в который вы хотите преобразовать выражение. Он включает INT, BIT, SQL_VARIANT и т. д. Обратите внимание, что он не может быть псевдонимом типа данных.
  • length — это целое число, которое указывает длину целевого типа. Длина необязательна и по умолчанию равна 30.
  • выражение — допустимое выражение любого типа, которое будет преобразовано.
  • style — необязательное целое число, определяющее, как функция CONVERT() будет переводить выражение. Если style равен NULL, функция CONVERT() вернет NULL.

Функция CONVERT() возвращает значение выражения, переведенное в target_type с указанным стилем.

Функция CONVERT() похожа на функцию CAST(). Однако она специфична для SQL Server. В отличие от этого, функция CAST() является частью функций ANSI-SQL, которая широко доступна во многих других продуктах баз данных.

Примеры функции SQL Server CONVERT()

Давайте рассмотрим несколько примеров использования функции CONVERT().

A) Пример использования функции CONVERT() для преобразования десятичной дроби в целое число

В этом примере функция CONVERT() используется для преобразования десятичного числа 9,95 в целое число:

SELECT CONVERT(INT, 9.95) result;

Вот что получилось:

result
-----------
9
(1 row affected)

B) Пример использования функции CONVERT() для преобразования десятичной дроби в другую десятичную дробь другой длины

В этом примере функция CONVERT() используется для преобразования десятичного числа 9,95 в другое десятичное число с нулевыми масштабами:

SELECT CAST(9.95 AS DEC(2,0)) result;

Вывод следующий:

result
-----------
10
(1 row affected)

Обратите внимание, что поведение функции CONVERT() при округлении и усечении такое же, как и у функции CAST().

C) Пример использования функции CONVERT() для преобразования строки в значение даты и времени

В этом примере функция CONVERT() используется для преобразования строки «2019-03-14» в значение даты и времени:

SELECT 
    CONVERT(DATETIME, '2019-03-14') result;

Вывод:

result
-----------------------
2019-03-14 00:00:00.000
(1 row affected)

D) Пример использования функции CONVERT() для преобразования значения datetime в строковое значение

В этом примере функция CONVERT() используется для преобразования текущей даты и времени в строку с определенным стилем:

SELECT 
    CONVERT(VARCHAR, GETDATE(),13) result;

Вот что получилось:

result
------------------------------
14 Mar 2019 08:59:01:380
(1 row affected)

В этом руководстве вы узнали, как использовать функцию SQL Server CONVERT() для преобразования значения из одного типа в другой.

Мирослав С.

Автор статей, ИБ-специалист