在SQL Server 2005数据库中,表的nvarchar列包含datetime或某个字符串值。例如03/11/2011 4:00:07 AM
或Completed
。
select * from log
where status >=
case isdate(status)
when 1 then convert(datetime, '03/11/2011 12:00:01 AM')
else ''
end
and status <=
case isdate(status)
when 1 then convert(datetime, '03/11/2011 4:00:00 PM')
else ''
end
我需要数据,其中status字段有datetime,datetime在date1和date2之间。
答案 0 :(得分:0)
WHERE
CASE WHEN ISDATE(status) = 1
THEN CONVERT(DATETIME,status)
END BETWEEN '20110311 12:00:01' AND '20110418 16:00:00'