我有一个作为varchar的日期字段的视图。我需要使用以下代码更改它的日期
CONVERT(DATETIME, MyDates)在执行视图时,这很好,但我想使更改永久化。我需要一些语法方面的帮助。到目前为止我已经
ALTER VIEW tableName
CONVERT(DATETIME, MyDates)但很明显这不起作用
发布于 2014-04-01 16:45:16
视图仅根据query.So从表中获取数据,您不能更改视图的数据类型。你得在桌子上换一下。
发布于 2014-04-01 16:49:03
因为一个视图(除非它是一个物化/索引视图,它有一些额外的特性)或多或少只是一个存储的select查询,所以您所做的就是更改select查询并使用它来更改视图。
例如,如果您有视图;
CREATE VIEW testview AS
SELECT id, value FROM test;...where值是一个varchar,您希望它作为日期时间反映在视图中,您只需发出;
ALTER VIEW testview AS
SELECT id, CAST(value AS DATETIME) value FROM test; ...to使它在视图中显示为日期时间。
带有简单演示的SQLfiddle。
https://stackoverflow.com/questions/22791788
复制相似问题