Зачем нужно использовать функцию CAST в SQL?
FROM
(
SELECT CAST (model AS VARCHAR(MAX)) AS model,
CAST (speed AS VARCHAR(MAX)) AS speed,
CAST (ram AS VARCHAR(MAX)) AS ram,
CAST (hd AS VARCHAR(MAX)) AS hd,
CAST (cd AS VARCHAR(MAX)) AS cd,
CAST (ISNULL (CAST (price AS VARCHAR(MAX)) ,'') AS VARCHAR(MAX)) AS price
FROM PC
WHERE code IN (SELECT MAX (code)
FROM PC)
) chartable
UNPIVOT
( VALUE FOR CHARACTER IN (model,speed,ram,hd,cd,price)) AS
unpvt
В данном коде не могу понять, зачем нужно использовать функцию CAST. Если не трудно объяснить подробней.
Задача с сайта sql-ex.ru
Условие задачи: Для ПК в таблице ПК с максимальным значением кода получить все его характеристики (кроме кода) и отобразить их в двух столбцах:
- имя характеристики (заголовок соответствующего столбца в таблице ПК);
- соответствующее значение.
Краткое описание бд "компьютерная фирма": Продукт (производитель, модель, тип) ПК (код, модель, скорость, оперативная память, hd, cd, цена) Ноутбук (код, модель, скорость, оперативная память, hd, экран, цена) Принтер ( код, модель, цвет, тип, цена) Таблица продукта содержит данные о производителе, номере модели и типе продукта («ПК», «Ноутбук» или «Принтер»). Предполагается, что номера моделей в таблице продуктов уникальны для всех производителей и типов продуктов. Каждый персональный компьютер в таблице PC однозначно идентифицируется уникальным кодом и дополнительно характеризуется своей моделью (внешний ключ относится к таблице Product), скоростью процессора (в МГц) - поле скорости, объемом оперативной памяти (в МБ) - оперативной памятью. , объем жесткого диска (в Гб) - hd, скорость CD-ROM (например, '4x') - cd, и его цена. Таблица Laptop аналогична таблице PC, за исключением того, что вместо скорости CD-ROM она содержит размер экрана (в дюймах) - screen. Для каждой модели принтера в таблице Printer, его тип вывода ('y' для цвета и 'n' для монохромного) - поле цвета, технология печати ('

