2012-05-22 2 views
9

Обычно я бегу сценарий как это:Возможно ли изменить тип данных столбца в представлении?

ALTER TABLE [TABLE] 
ALTER COLUMN [Column] NVARCHAR(40); 

Результатом является то, что поле в таблице преобразуется в NVARCHAR. Но каков синтаксис для того, чтобы делать то же самое для представления? Или это возможно?

+0

Вы не можете определять тип данных для вывода столбца зрения. Лучшее, что вы можете сделать, это использовать @buckley - использовать CAST или CONVERT, чтобы принудительно вводить явный тип данных в строке определения. –

ответ

20

Конечно

CREATE VIEW AView 
AS 
SELECT CAST(title AS char(50)) 
FROM titles 

Так проверьте CAST и CONVERT также на страницах MSDN для полной информации

-1

Yes..You можно попробовать конвертировать функцию, чтобы сделать это.

Convert (Desired datatype,column name) 

eg. Convert(varchar(50),dbo.User_master.User_email) где User_email имеет предыдущий тип как nvarchar (MAX).

Если вы хотите, чтобы преобразовать данные NVARCHAR в DATETIME, то дополнительный параметр необходим для преобразования функции как

CONVERT(data_type(length),expression,style) 

например. более Convert(Datetime,dbo.User_master.User_DOB,103)

информация на SQL Server CONVERT() Function