Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > функции datediff, convert


Автор: Veroonya 6.2.2009, 08:35
в таблице есть поля время (тип char) и дата (date)
нужно выбрать такие записи, разница между которыми не более 5 минут
Есть для этого запрос 
Код

 select *  from trcardcheck 
inner join  trcardcheck times ON times.LONG_PAN=trcardcheck.LONG_PAN
where datediff(mi,convert (datetime, trcardcheck.TIME_T ,108) ,convert (datetime, times.TIME_T ,108)) <=5 
and datediff(mi,convert (datetime, trcardcheck.TIME_T ,108) ,convert (datetime, times.TIME_T ,108)) >0
and trcardcheck.DATE_D=times.DATE_D


Но при использовании его в Delphi 7, выдает ошибку 
Код

capability not supported


как с этим справиться?

Автор: Akina 6.2.2009, 09:00
СУБД - MS SQL?
Вообще я бы сначала CAST дату в строку, потом CONCAT её со временем, полученное CAST в datetime и уже затем DateDiff в минутах between -5 and 5

Автор: Veroonya 6.2.2009, 09:06
Цитата(Akina @  6.2.2009,  09:00 Найти цитируемый пост)
и уже затем DateDiff в минутах between -5 and 5


datediff и convert не поддерживаются !!! 

Цитата(Veroonya @  6.2.2009,  08:35 Найти цитируемый пост)
capability not supported


И вообще столько много кастов и конкатов тут по-моему ни к чему.
Но это не важно, проблема именно в datediff и convert.

ЗЫ cast там тоже не пашет

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)