2009-09-26 62 views

回答

4
SELECT 
    * 
FROM 
    men 
WHERE 
    CONVERT(DATETIME, Tdate) BETWEEN '01/01/01' and '02/02/02' 

取决于日期格式和当前DATEFORMAT seting是否CONVERT()是否有效。

建议将列转换为实际的DATETIME数据类型。

1

您可能需要在nvarchar列的WHERE子句中查找CASTCONVERT语句。

SELECT * 
FROM Men 
WHERE CAST(Tdate AS Datetime) 
BETWEEN '01/01/09' and '02/02/09' 

这里有一个概念证明:

declare @sample table 
(
    TDate nvarchar(100) 
) 

Insert into @sample (TDate) --yes, this INSERT work on SQL 2008 only :) 
Values ('jan 1 2009'),('jan 10 2009'), ('feb 8 2009'),('feb 12 2009') 

SELECT * 
FROM @sample 
WHERE CAST(Tdate AS Datetime) BETWEEN '01/01/09' AND '02/10/09'