视图中列的数据类型
Posted
技术标签:
【中文标题】视图中列的数据类型【英文标题】:Data type of column in view 【发布时间】:2012-01-24 09:48:25 【问题描述】:我需要用视图替换一些旧表。如何在视图中指定列类型?
例如。旧表包含列 int(10) unsigned
。我的视图将其替换为int(11)
和cast(mycolumn as unsigned)
将其转换为int(11) unsigned
。但是旧的 .net-application 在类型转换期间会产生错误(我无法修改它来修复此错误)。
我能做什么?
【问题讨论】:
【参考方案1】:我从未听说有一种方法可以为任何已知数据库(oracle、mssql、mysql、postgres)中的视图列手动指定数据类型。它根据正在选择的真实表列的数据类型或某些函数自动计算,例如CAST
就像你的情况一样。所以解决方案可能是使用强制转换。
【讨论】:
我明白,但是 Mysql 中的标准转换不够灵活,无法满足我的需求。可能有存储过程或其他方式的任何解决方案【参考方案2】:使用视图列所需的返回类型定义一个函数。使用您的函数计算所需的值。视图列的类型将作为函数返回类型。
【讨论】:
【参考方案3】:对于那些感兴趣的人: 我创建了一个“假”物化视图,它的加载速度要快得多。然后我更改所需的列类型。
【讨论】:
以上是关于视图中列的数据类型的主要内容,如果未能解决你的问题,请参考以下文章