![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Преобразование типов данных происходит в следующих случаях:
· При перемещении, сравнении или объединении данных одного объекта с данными другого объекта эти данные могут преобразовываться из одного типа в другой.
· При передаче в переменную программы данных из результирующего столбца Transact-SQL, кодов возврата или выходных параметров, эти данные должны преобразовываться из системного типа данных SQL Server в тип данных переменной.
При взаимных преобразованиях переменных приложения и столбцов результирующих наборов SQL Server, кодов возврата, параметров и маркеров параметров поддерживаемые преобразования типов данных определяются API базы данных.
Явное и неявное преобразование
Преобразование типов данных бывает явным и неявным.
Неявное преобразование скрыто от пользователя. SQL Server автоматически преобразует данные из одного типа в другой. Например, если тип данных smallint сравнивается с типом int, то перед сравнением тип smallint будет неявно преобразован в тип int.
GETDATE() неявно преобразует в стиль даты 0. SYSDATETIME() неявно преобразует в стиль даты 21.
Явное преобразование выполняется с помощью функций CAST и CONVERT.
Функции CAST и CONVERT преобразуют значение (локальную переменную, столбец или выражение) из одного типа данных в другой. Например, приведенная ниже функция CAST преобразует числовое значение $157.27 в строку символов '157.27':
CAST ($157.27 AS VARCHAR(10))Если программный код Transact-SQL должен соответствовать требованиям ISO, используйте функцию CAST вместо CONVERT. Использование функции CONVERT вместо CAST дает преимущество в дополнительной функциональности.
На следующей иллюстрации показаны все явные и неявные преобразования типов данных, допустимые для системных типов данных SQL Server. Сюда входят типы xml, bigint и sql_variant. При присваивании неявного преобразования от типа sql_variant не происходит, но неявное преобразование к типу sql_variant производится.
Поведение преобразования типов данных
Некоторые виды явного и неявного преобразования типов данных не поддерживаются при преобразовании типа данных одного объекта SQL Server в тип данных другого объекта. Например, значение типа nchar нельзя преобразовать в значение типа image. Тип данных nchar можно преобразовать только в тип данных binary, причем только явно. Неявное преобразование в binary не поддерживается. Однако тип данных nchar можно преобразовать в тип nvarchar как явно, так и неявно.
Дата публикования: 2015-02-03; Прочитано: 353 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!