什么错误? "将 expression 转换为数据类型 datetime 时发生算术溢出错误"
程序昨天还运行得好好的 今天早上一运行 出现:
"将 expression 转换为数据类型 datetime 时发生算术溢出错误"
查询语句如下:
select count(*) from tblA where DATEPART(yy,Dateinput)='2005'
其中Dateinput是文本格式 如2005-04-02
但这段程序昨天还运行正常,期间服务器也没有重新启动过,就变成这样了.
问题点数:50、回复次数:9Top
1 楼zjcxc(邹建)回复于 2005-04-02 10:57:27 得分 0
查询分析器执行下面的语句会否出错?:
select datepart(yy,'2005-04-02 ')Top
2 楼asp2001(小黑侠)回复于 2005-04-02 11:01:08 得分 0
select count(*) from tblA where DATEPART(yy,'2005-04-02')='2005'
可以运行Top
3 楼xluzhong(Ralph)回复于 2005-04-02 11:03:33 得分 0
if datepart(yy,'2005-04-02 ')='2005'
begin
select 'a'
end
select 'b'Top
4 楼xluzhong(Ralph)回复于 2005-04-02 11:04:24 得分 5
select count(*) from tblA where DATEPART(yy,replace(Dateinput,' ',''))='2005'Top
5 楼heyixiang(子豚の愛人)回复于 2005-04-02 11:09:31 得分 0
这个问题要收藏Top
6 楼zjcxc(邹建)回复于 2005-04-02 11:14:55 得分 0
select count(*) from tblA where DATEPART(yy,'2005-04-02')='2005'
可以运行
那说明还是你表中数据的问题Top
7 楼zjcxc(邹建)回复于 2005-04-02 11:15:44 得分 45
--用下面的语句可以查询出表中异常的数据
select Dateinput,* from tblA where isdate(Dateinput)=0Top
8 楼asp2001(小黑侠)回复于 2005-04-02 11:16:44 得分 0
select count(*) from tblA where DATEPART(yy,replace(Dateinput,' ',''))='2005'
也是不能运行的
Top
9 楼asp2001(小黑侠)回复于 2005-04-02 11:19:37 得分 0
To zjcxc(邹建)
select Dateinput,* from tblA where isdate(Dateinput)=0
恩 是这个原因 有会员输入的日期格式错误引起的
Top




