【发布时间】:2015-11-13 05:45:37
【问题描述】:
我有一个视图 xyz_view,它有大约 16,000 条记录。
有四个日期列具有这种格式的数据'2015-04-30 00:00:00.000'
当我使用查询时
select *
from xyz_view
我得到所有记录没有任何问题,但是当我使用时
select top 1000 *
from xyz_view
我收到一个错误:
消息 245,第 16 级,状态 1,第 1 行
将 varchar 值 '2013-08-05 00:00:00.0' 转换为数据类型 int 时转换失败。
即使select top 100 * from xyz_view 也有效。任何超过 300 的东西都会抛出错误。
请帮助我理解这一点。
【问题讨论】:
-
请发布您正在使用的查询。
-
当你只使用
select *...时,你真的得到了所有的记录,还是你的编辑器限制了返回的数量? -
您查询的是视图还是表?您的问题措辞表明您正在查看视图。
-
这个错误甚至没有提到
datetime。它说将varchar转换为int。需要检查视图的定义。 -
@CaptainAdams:是的,我正在看风景。
标签: sql sql-server view