一個簡單的查詢語句的錯誤!!

hyfyxu 2003-07-01 05:46:40
select bh,ygbh,mc,syrq,gorq from rszl where datediff(month,
convert(datetime,isnull(syrq,gorq),112),convert(datetime,getdate(),112))%6=1

說明:syrq,gorq為varchar型,如20030701!這查詢的意思是要得出從過滿試用期起,到今天滿6個月的選擇來,沒試用期時選開始工作的日期!syrq滿試用期,gorq開始工作日期
不過在執行后,開始列了幾行數據(看下表),后就出現Syntax error converting datetime from character string.的錯誤,當將isnull(syrq,gorq)替換成syrq時也出現這樣錯誤!(當然syrq有些記錄是空的!)
_______________________________________________
bh ygbh mc syrq gorq
888211 0002 覃瑞媚 20010615 20010530
888216 0006 黃健花 20011215 20011130
888220 0009 陳秀愛 20001231 20001216
888750 0313 曾小華 NULL 19990618
888233 0020 黃健梅 20011215 20011130
----------------------------------------------

...全文
36 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyfyxu 2003-07-01
  • 打赏
  • 举报
回复
TO: tj_dns(愉快的登山者)
Incorrect syntax near 'cast', expected 'AS'.
不好意思,我對sql不熟!

TO: fanmb(随便聊聊)
syrq與gorq都是vchar型,gorq中沒有空記錄!

fanmb 2003-07-01
  • 打赏
  • 举报
回复
gorq 格式不正确或为null
愉快的登山者 2003-07-01
  • 打赏
  • 举报
回复
select bh,ygbh,mc,syrq,gorq
from rszl
where datediff(month,
cast(left(isnull(syrq,gorq),4)+'-'+substring(isnull(syrq,gorq),5,2)+'-'+right(isnull(syrq,gorq),2)) as datetime,getdate()) >= 6


34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧