日期:2014-05-19  浏览次数:20533 次

将字符串转化为datetime时发生语法错误,与平常所见不太一样
视图v_bbb
表         bbb
两者结构一样,其中的视图是由bb表和b表所得出的,现在想把视图内容与表内容加到一起,于是语句:
select   *   from   v_bbb
union   all
select   *   from   bbb
新创建一个视图,在其中执行这个语句得到3万多条记录,没有报错,在查询分析器中得到9百多条,并报错:将字符串转化为datetime时发生语法错误,我仔细查了一下原来的表b,bb,bbb其中涉及到时间的字段都是datetime型,在没有报错的视图中再次写:
select   *   from   (
select   *   from   v_bbb
union   all
select   *   from   bbb
)   ttt   order   by   请求日期
又报错::将字符串转化为datetime时发生语法错误

我用
select   isdate(请求日期)   from   v_bbb   和select   isdate(请求日期)   from   bbb也没有为0的记录

------解决方案--------------------
最好把字段名列出來, 一一對應的
------解决方案--------------------
isnull(请求日期, '1900-01-01 ')

--用ISNULL()函數判斷
------解决方案--------------------
将字符串转化为datetime时发生语法错?
列中有无效时间格式