Простой выбор неудачен в Firebird - PullRequest
1 голос
/ 08 марта 2011

Все, что я хочу сделать, это выбрать записи между двумя датами с точностью до секунды (между ГГГГ-ММ-ДД ЧЧ: II: СС и ГГГГ-ММ-ДД ЧЧ: II: СС). Поле, содержащее дату и время, находится в формате TIMESTAMP. Я не могу даже выбрать записи по дате.

Запрос

SELECT *
FROM INVOICE
WHERE CAST(INVOICE.WHENINVOICED AS DATE) = CAST('2010-10-15' AS DATE)
ORDER BY INVOICE.WHENINVOICED ASC

не возвращает записей и ошибок. Записи существуют с этой датой.

1 Ответ

5 голосов
/ 08 марта 2011
SELECT * FROM INVOICE 
WHERE WHENINVOICED 
BETWEEN '2010-01-01' AND  '2010-10-15'
ORDER BY WHENINVOICED ASC

Вам не нужно разыгрывать типы.Когда Invoiced является столбцом типа даты, конечно?

...