Sql server T-SQL:alterview
我有一个视图,其中日期字段为varchar。我需要使用以下代码将其更改为最新时间Sql server T-SQL:alterview,sql-server,tsql,alter,Sql Server,Tsql,Alter,我有一个视图,其中日期字段为varchar。我需要使用以下代码将其更改为最新时间 CONVERT(DATETIME, MyDates) 这在执行视图时可以很好地工作,但我想使更改永久化。我需要一些语法方面的帮助。到目前为止我有 ALTER VIEW tableName CONVERT(DATETIME, MyDates) 但是它显然不起作用视图仅根据查询从表中获取数据。因此您无法更改视图的数据类型。您必须在表中更改它。因为视图(除非它是具有一些额外特性的物化/索引视图
CONVERT(DATETIME, MyDates)
这在执行视图时可以很好地工作,但我想使更改永久化。我需要一些语法方面的帮助。到目前为止我有
ALTER VIEW tableName
CONVERT(DATETIME, MyDates)
但是它显然不起作用视图仅根据查询从表中获取数据。因此您无法更改视图的数据类型。您必须在表中更改它。因为视图(除非它是具有一些额外特性的物化/索引视图)或多或少只是一个存储的select查询,所以您要做的就是更改select查询并使用该查询更改视图 例如,如果您有视图
CREATE VIEW testview AS
SELECT id, value FROM test;
…如果值是一个varchar,并且您希望它作为日期时间反映在视图中,则只需发出
ALTER VIEW testview AS
SELECT id, CAST(value AS DATETIME) value FROM test;
…使其在视图中显示为日期时间
.视图只是一个存储的查询-它本身没有列,除了更改执行的查询外,您不能更改视图…您是在试图更改视图还是在基础表中更改列的数据类型?您能显示视图吗?