2012-05-22 8 views
9

Normalerweise laufe ich ein Skript wie folgt aus:Kann der Datentyp einer Spalte in einer Ansicht geändert werden?

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

Das Ergebnis ist, dass das Feld in der Tabelle zu nvarchar konvertiert wird. Aber wie lautet die Syntax, um dasselbe für eine Ansicht zu tun? Oder ist das überhaupt möglich?

+0

Sie nicht den Datentyp für die Ausgabespalte einer Ansicht diktieren kann. Das Beste, was Sie tun können, ist, wie @buckley vorgeschlagen hat: Verwenden Sie CAST oder CONVERT, um einen expliziten Datentyp inline in der Ansichtsdefinition zu erzwingen. –

Antwort

20

Sure

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

So CAST Check-out und CONVERT auch auf den Msdn Seiten für alle Infos

-1

Yes..You konvertieren Funktion können versuchen, dies zu tun.

Convert (Desired datatype,column name) 

zB. Convert(varchar(50),dbo.User_master.User_email) wobei User_email vorherigen Typ als Nvarchar (MAX) hat.

Wenn Sie nvarchar Daten konvertieren wollen wird dann zusätzliche Parameter in Datetime benötigte Funktion zu konvertieren wie

CONVERT(data_type(length),expression,style) 

zB. Convert(Datetime,dbo.User_master.User_DOB,103)

weitere Informationen bei SQL Server CONVERT() Function