Как поместить условие datetime в условие where в столбце nvarchar в TSQL? - PullRequest
1 голос
/ 20 апреля 2011

В базе данных 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

Мне нужны данные, когда в поле состояния есть дата и время, а дата / время находятся между датой 1 и датой 2

1 Ответ

0 голосов
/ 20 апреля 2011
WHERE 
CASE WHEN ISDATE(status) = 1 
     THEN CONVERT(DATETIME,status) 
END BETWEEN '20110311 12:00:01' AND '20110418 16:00:00'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...