视图中列的数据类型

时间:2012-01-24 09:48:25

标签: mysql types view casting

我需要用视图替换一些遗留表。如何在视图中指定列类型? 例如。旧表包含列int(10) unsigned。我的观点将其替换为int(11)cast(mycolumn as unsigned)将其转换为int(11) unsigned。但旧的.net应用程序在类型转换期间会生成错误(我无法修改它以修复此错误)。 我该怎么办?

3 个答案:

答案 0 :(得分:1)

我没有听说有任何方法可以在任何已知的数据库(oracle,mssql,mysql,postgres)中为视图列指定手动数据类型。它是基于实际表格列的数据类型自动计算的,该数据类型是选择的或在某些功能上,例如, CAST就像你的情况一样。所以解决方案可能就是使用铸造。

答案 1 :(得分:0)

使用视图列所需的返回类型定义一个函数。使用您的函数计算所需的值。视图列的类型将被视为函数返回类型。

答案 2 :(得分:0)

对于你们感兴趣的人: 我创建了一个“伪造的”物化视图,它的加载速度要快得多。然后我改变了所需的列类型。