В этом учебном пособии вы узнаете, как использовать функцию CONVERT в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
В SQL Server (Transact-SQL) функция CONVERT преобразует выражение из одного типа данных в другой тип данных.
Синтаксис
Синтаксис функции CONVERT в SQL Server (Transact-SQL):
Параметры или аргументы
type - тип данных, в который вы хотите преобразовать выражение. Это может быть одно из следующих: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, или image.
length - необязательный. Длина результирующего типа данных для char, varchar, nchar, nvarchar, binary и varbinary.
expression - значение для преобразования в другой тип данных.
style - необязательный. Формат, используемый для преобразования между типами данных, такими как формат даты или строковый формат. Это может быть одно из следующих значений:
Преобразование datetime в character
Значение (без века) | Значение (с веком) | Пояснение |
---|---|---|
0 | 100 | mon dd yyyy hh:miAM/PM (по умолчанию) |
1 | 101 | mm/dd/yyyy (US стандарт) |
2 | 102 | yy.mm.dd (ANSI стандарт) |
3 | 103 | dd/mm/yy (British/French стандарт) |
4 | 104 | dd.mm.yy (German стандарт) |
5 | 105 | dd-mm-yy (Italian стандарт) |
6 | 106 | dd mon yy |
7 | 107 | Mon dd, yy |
8 | 108 | hh:mi:ss |
9 | 109 | mon dd yyyy hh:mi:ss:mmmAM/PM |
10 | 110 | mm-dd-yy (USA стандарт) |
11 | 111 | yy/mm/dd (Japan стандарт) |
12 | 112 | yymmdd (ISO стандарт) |
13 | 113 | dd mon yyyy hh:mi:ss:mmm (Europe стандарт - 24-часовой) |
14 | 114 | hh:mi:ss:mmm (24-часовой) |
20 | 120 | yyyy-mm-dd hh:mi:ss (ODBC canonical - 24-часовой) |
21 | 121 | yyyy-mm-dd hh:mi:ss:mmm (ODBC canonical - 24-часовой) |
126 | yyyy-mm-ddThh:mi:ss:mmm (ISO8601 стандарт) | |
127 | yyyy-mm-ddThh:mi:ss:mmmZ (ISO8601 стандарт) | |
130 | dd mon yyyy hh:mi:ss:mmmAM/PM (Hijri стандарт) | |
131 | dd/mm/yy hh:mi:ss:mmmAM/PM (Hijri стандарт) |
Преобразование float в real
Значение | Пояснение |
---|---|
0 | Максимум 6 цифр (по умолчанию) |
1 | 8 цифр |
2 | 16 цифр |
Преобразование money в character
Значение | Пояснение |
---|---|
0 | Разделитель не запятая, 2 цифры справа от десятичной (т. е. 1234.56) |
1 | Разделитель запятая, 2 цифры справа от десятичной (т. е.: 1,234.56) |
2 | Разделитель не запятая, 4 цифры справа от десятичной (т. е. 1234.5678) |
Примечание
- При преобразовании из float и numeric в integer, функция CONVERT усекает результат. Для других преобразований функция CONVERT будет округлять результат.
- См. Также функцию CAST.
Применение
Функция CONVERT может использоваться в следующих версиях SQL Server (Transact-SQL):
SQL Server vNext, SQL Server 2016, SQL Server 2015, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005
Пример
Рассмотрим некоторые примеры SQL Server функции CONVERT, чтобы понять, как использовать функцию CONVERT в SQL Server (Transact-SQL). Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
SELECT CONVERT(int, 15.49); --Результат: 15 (Результат усекается) SELECT CONVERT(float, 15.49); --Результат: 15,49 (Результат не усекается) SELECT CONVERT(varchar, 23.7); --Результат: '23.7' SELECT CONVERT(varchar(4), 23.7); --Результат: '23.7' SELECT CONVERT(float, '52.4'); --Результат: 52,4 SELECT CONVERT(datetime, '01.12.2017'); --Результат: '2017-12-01 00:00:00.000' SELECT CONVERT(varchar, '01.12.2017', 101); --Результат: '01.12.2017' |