Как конвертировать тип колонки во VIEW

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
z180
Сообщения: 2
Зарегистрирован: 29 апр 2016, 11:31

29 апр 2016, 11:36

Доброго времени суток. Подскажите запрос на изменение типа столбца в VIEW TABLE.
VIEW Таблица Table1 тип nvarchar(50), нужно сменить ей тип на int. Спасибо!
Аватара пользователя
AiK
Сообщения: 2274
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

29 апр 2016, 12:24

Есть два варианта. Либо изменить тип столбца "родительской" таблицы, либо если выборка не очень большая, то конвертировать налету, примерно так:

Код: Выделить всё

select  CAST(varchar_col as SIGNED) from your_table; 
Даже самый дурацкий замысел можно воплотить мастерски
z180
Сообщения: 2
Зарегистрирован: 29 апр 2016, 11:31

29 апр 2016, 12:49

AiK писал(а):Есть два варианта. Либо изменить тип столбца "родительской" таблицы, либо если выборка не очень большая, то конвертировать налету, примерно так:

Код: Выделить всё

select  CAST(varchar_col as SIGNED) from your_table; 

Правильно ли будет так? Вроде выполнил этот запрос, а тип поля у BOXID всё равно дёргается с родительской таблицы и не меняется. (У родителя тип nvarchar(50), а я хотел ему тип int задать?

Код: Выделить всё

CREATE VIEW [dbo].[AZ5] AS
SELECT *
FROM [HY_WRH_OST].[dbo].[HYt_CST_ARS_EventLog] 

SELECT  CAST(BOXID AS int) FROM dbo.HYt_CST_ARS_EventLog;
Аватара пользователя
AiK
Сообщения: 2274
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

29 апр 2016, 13:30

z180 писал(а):Правильно ли будет так?
Нет. Вот дока по функции cast: http://dev.mysql.com/doc/refman/5.7/en/ ... ction_cast
Среди допустимых типов есть SIGNED, есть UNSIGNED, но нет INT.
Даже самый дурацкий замысел можно воплотить мастерски
Ответить