SQL Server报错:从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。

墙头上乘凉 ETL  2015-11-19 02:40:48
 select Syh,IcdCode,IcdName,DiagDate,DiagDoct,Remark 
from [172.16.2.81].THIS4.dbo.msDiagInfo_zy
where syh>='190891' and Diagdate>'2015-11-16 00:00:00'


消息 242,级别 16,状态 3,第 1 行
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。

昨天还好好的,今天就突然报错,服务器也没有改过什么,这是什么情况啊。
请高手指教,在线等!!!
...全文
156 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
墙头上乘凉 2015-11-19
引用 11 楼 szx1999 的回复:
错误很明显,时间参数有问题,不是有效范围内的时间。比如: and Diagdate>'0001-01-01 00:00:00'
单独去查这个张表没有发现有格式不正确的日期格式
回复
墙头上乘凉 2015-11-19
引用 10 楼 u010192842 的回复:
报什么错?
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。←←←←还是这个错
回复
另外,可以尝试修改一下 172.16.2.81 整个链接服务器的属性
回复
引用 9 楼 YoungLoe 的回复:
[quote=引用 5 楼 u010192842 的回复:]

 select Syh,IcdCode,IcdName,DiagDate,DiagDoct,Remark 
 from [172.16.2.81].THIS4.dbo.msDiagInfo_zy   
 where syh>='190891' and Diagdate is null
这个执行一下,看看是不是有空值
这样查也会报错[/quote] 你如果直接在 172.16.2.81 这台服务器上运行试试呢?
回复
等不到来世 2015-11-19
错误很明显,时间参数有问题,不是有效范围内的时间。比如: and Diagdate>'0001-01-01 00:00:00'
回复
Yole 2015-11-19
报什么错?
回复
墙头上乘凉 2015-11-19
引用 7 楼 shadowpj 的回复:
我估计还是syh字段问题, 你这样测试下 select Syh from [172.16.2.81].THIS4.dbo.msDiagInfo_zy where Diagdate>'2015-11-16 00:00:00' 看报错不。不报错就试试 select Syh from [172.16.2.81].THIS4.dbo.msDiagInfo_zy where syh>='190891' 报错的话就是syh字段问题
不带日期只用syh是没问题的
回复
墙头上乘凉 2015-11-19
引用 5 楼 u010192842 的回复:

 select Syh,IcdCode,IcdName,DiagDate,DiagDoct,Remark 
 from [172.16.2.81].THIS4.dbo.msDiagInfo_zy   
 where syh>='190891' and Diagdate is null
这个执行一下,看看是不是有空值
这样查也会报错
回复
shadowpj 2015-11-19
我估计还是syh字段问题, 你这样测试下 select Syh from [172.16.2.81].THIS4.dbo.msDiagInfo_zy where Diagdate>'2015-11-16 00:00:00' 看报错不。不报错就试试 select Syh from [172.16.2.81].THIS4.dbo.msDiagInfo_zy where syh>='190891' 报错的话就是syh字段问题
回复
zbdzjx 2015-11-19
可能是172.16.2.81那台服务器上的日期格式不正确
回复
Yole 2015-11-19

 select Syh,IcdCode,IcdName,DiagDate,DiagDoct,Remark 
 from [172.16.2.81].THIS4.dbo.msDiagInfo_zy   
 where syh>='190891' and Diagdate is null
这个执行一下,看看是不是有空值
回复
墙头上乘凉 2015-11-19
引用 3 楼 u010192842 的回复:
syh是什么值?
这个不用管,只是个字符串
回复
Yole 2015-11-19
syh是什么值?
回复
墙头上乘凉 2015-11-19
引用 1 楼 u010192842 的回复:
Diagdate是什么类型啊?里面有数据类型不正确了。
Diagdate是datetime类型,里面的数据格式是2015-11-16 00:00:00这样的
回复
Yole 2015-11-19
Diagdate是什么类型啊?里面有数据类型不正确了。
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-11-19 02:40
社区公告
暂无公告