我在 SQL Server 中有一个包含 2 列的表Question_asked
:Response
该Response
列属于数据类型varchar(500)
,并保存用户对列中保存的问题的响应Question_asked
我V_age_attr
使用以下 SQL 语句创建了一个视图:
select
question_asked, cast(Response as integer)
from
main_table
where
question_asked = 'What is your age'
如果我运行一个简单的 SQL 查询,结果会按预期返回。但在某些情况下,例如使用 sum/group by 查询时。我收到一条错误消息(我得到的实际消息):
将 varchar 值 '2011-08-13 00:00:00' 转换为数据类型 int 时转换失败
在表中,main_table
问题之一是start_date
,因此该列Response
确实在表中保存了日期值,但在我创建的视图中没有。
同样,我可以运行选择查询并检查 my 的所有值cast(Response as integer)
,它们都是整数值。
我的主要问题是:谁能告诉我这是否是 SQL Server 2008 R2 中已知/预期的行为,和/或除了创建视图之外,还有其他人有其他方法从这种类型的表中获取值的子集吗?
谢谢