В этом руководстве вы узнаете, как использовать функцию SQL Server CONVERT() для преобразования значения одного типа в другой.
- Введение в функцию SQL Server CONVERT()
- Примеры функции SQL Server CONVERT()
- A) Пример использования функции CONVERT() для преобразования десятичной дроби в целое число
- B) Пример использования функции CONVERT() для преобразования десятичной дроби в другую десятичную дробь другой длины
- C) Пример использования функции CONVERT() для преобразования строки в значение даты и времени
- D) Пример использования функции CONVERT() для преобразования значения datetime в строковое значение
Введение в функцию 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() для преобразования значения из одного типа в другой.