2017-06-12 16 views
0

我已经做了很多次,没有发生错误,但这次很烦人。为什么我得到这个错误在'''附近预期条件的上下文中指定的非布尔类型的表达式?

错误:

了条件,预期的,在附近的上下文指定的非布尔类型的表达式“”。

Select aw.AppliedWorkID, aw.AppliedDateTime, aw.NIT_No, aw.Work_No, c.Name, c.CNIC, c.FatherName, w.WorkName, ISNULL(Withdrawn,0) as Withdrawn from AppliedWorks aw 
Inner Join Contractors c 
ON c.ContractorID= aw.Contractor_ID 
Inner Join Works w 
ON w.NIT_No= aw.NIT_No and w.WorkNo= aw.Work_No 
Where ISNULL(aw.Withdrawn,0)= 1 and aw.NIT_No= @NITNO and aw.Work_No= @WorkNo 
AND (datetime, w.OpeningDate, 106) +' '+ Convert(varchar(7), w.OpeningTime)) <= Convert(datetime, Getdate()) 
+1

边注:有没有必要'转换(日期时间,GETDATE( ))'''getdate()'已经返回一个日期时间。你可能想考虑改变你的表格结构来在单个'datetime'列中存储'Opening'而不是分割的日期/时间列。 –

回答

1

我觉得CONVERT在最后一行缺少

变化从

AND (datetime, w.OpeningDate, 106) +' '+ Convert(varchar(7), w.OpeningTime)) 
<= Convert(datetime, Getdate()) 

AND Convert(datetime, w.OpeningDate, 106) +' '+ Convert(varchar(7), w.OpeningTime)) 
<= Convert(datetime, Getdate()) 
+1

谢谢bhai。 Hogaya。 – Covert

+1

@Covert:如果这是它 - 也许你应该把你的问题标记为答案:-) – tgr

相关问题