T-SQL:改变视图

时间:2014-04-01 16:37:34

标签: sql-server tsql alter

我有一个视图,其中日期字段为varchar。我需要使用以下代码将其更改为日期时间

    CONVERT(DATETIME, MyDates)

这在执行视图时工作正常,但我希望永久更改。我需要一些语法方面的帮助。到目前为止我已经

    ALTER VIEW tableName
    CONVERT(DATETIME, MyDates)

但它显然无法正常工作

2 个答案:

答案 0 :(得分:3)

由于视图(除非它是具有一些额外特性的物化/索引视图)或多或少只是存储的选择查询,所以您只需更改选择查询并使用该视图更改视图。

例如,如果您有视图;

CREATE VIEW testview AS 
  SELECT id, value FROM test;

...其中value是一个varchar,你希望它在视图中反映为日期时间,你可以发出;

ALTER VIEW testview AS
  SELECT id, CAST(value AS DATETIME) value FROM test; 

...使其在视图中显示为日期时间。

An SQLfiddle with a simple demo

答案 1 :(得分:0)

视图仅根据查询从表中提取数据。因此,您无法更改视图的数据类型。你必须在表格中进行更改。