2013-09-24 17 views

回答

0
SELECT * 
FROM EMPLOYEE 
WHERE EMPDOJ < '2013-05-01' 
1

正確的方式這樣做將是

select * 
from employee 
where empDOJ < convert(date, '20130501', 112) 

但是你可以使用字符串「20130501」或「2013年5月1日」,因爲當你把它比作日期列,SQL Server將根據data type priorities轉換數據類型。由於date類型的優先級比varchar類型,SQL將轉換varchardate含蓄:

select * 
from employee 
where empDOJ < '20130501' 

注意,使用你的列函數使用此列的索引阻止,所以當你寫在那裏datepart(MM ,empDOJ) = 5指數(如果你有索引empDOJ列)將不會被使用。

相關問題