loading..
Русский    English
22:29
листать

Преобразование типов и оператор CAST стр. 1

В реализациях языка  Язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL может быть выполнено неявное преобразование типов. Так, например, в  Transact-SQL (T-SQL) — процедурное расширение языка SQL, используемое для программирования на стороне сервера в Microsoft  Cистема управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft.SQL Server и Sybase ASE.Transact-SQL при сравнении или комбинировании значений типов smallint и int, данные типа smallint неявно преобразуются к типу int. Подробно о явном и неявном преобразовании типов в SQL Server можно прочитать в BOL.

Пример 5.9.1.

Вывести среднюю цену портативных компьютеров с предваряющим текстом «средняя цена = ».

Попытка выполнить запрос

Консоль
Выполнить
  1. SELECT 'Средняя цена = '+AVG(price)
  2. FROM Laptop;

приведет к сообщению об ошибке:

Implicit conversion from data type varchar to money is not allowed. Use the CONVERT function to run this query.

(«Не допускается неявное преобразование типа varchar к типу money. Используйте для выполнения этого запроса функцию CONVERT».)

Это сообщение означает, что система не может выполнить неявное преобразование типа varchar к типу money. В подобных ситуациях может помочь явное преобразование типов. При этом, как указано в сообщении об ошибке, можно воспользоваться функцией CONVERT. Однако эта функция не стандартизована, поэтому в целях переносимости рекомендуется использовать стандартное выражение CAST. С него и начнем.

Итак, если переписать наш запрос в виде

Консоль
Выполнить
  1. SELECT 'Средняя цена = '+ CAST(AVG(price) AS CHAR(15))
  2. FROM Laptop;

в результате получим то, что требовалось:

  1. Средняя цена = 1003.33

Мы использовали выражение явного преобразования типов CAST для приведения среднего значения цены к строковому представлению.

Синтаксис выражения CAST очень простой

  1. CAST(<выражение> AS <тип данных>)

Внимание:

Следует иметь в виду, во-первых, что не любые преобразования типов возможны (стандарт содержит таблицу допустимых преобразований типов данных). Во-вторых, результат функции CAST для значения выражения, равного NULL, тоже будет NULL.

Следующая страница


Bookmark and Share
Страницы: 1 2 3
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE CONSTRAINT Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FOREIGN KEY FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INNER JOIN insert INTERSECT IS NOT NULL IS NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker MAX Больше тэгов
Учебник обновлялся
сегодня
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100