从视图中获取正确的列数据类型

时间:2017-08-22 11:45:28

标签: sql-server view sql-server-2012 sqldatatypes

我正在尝试从视图中创建一个表。此视图来自多个表之间的连接。但是在目标表中,几乎所有列都具有Varchar(8000)或NVARCHAR(4000),对于任何列都不是这样。 我试图通过

获得结构
SELECT * INTO targetTable from SourceView

&安培;

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE Table = 'SourceView'

两者都给了我非常高范围的varchar和nvarchar数据类型。

获取源列数据类型的正确方法是什么?

enter image description here

1 个答案:

答案 0 :(得分:1)

我不知道它是否是性能最佳的解决方案,但您可以将它们投射到选择字段中。

CREATE VIEW ...
SELECT CAST(DesiredColumn as varchar(50)) as DesiredColumn,
       ....