Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

firebird   Найти похожие ветки 

 
fantasy ©   (2006-06-25 02:31) [0]

Есть база данных. В ней 3 поля: F_NOMER, F_DATE, F_TIME
в таблице T_BILET.
Как выбрать
SELECT * FROM T_BILET
WHERE (F_DATE +  F_TIME) + 3 (часа) > "NOW"
Не получается. Как выбрать SELECT, чтобы отобразились все поля за последние 3 часа?
PS: база данных FIREBIRD 2.0
( не могу рвзобраться с синтаксисом. Помогите собрать запрос)


 
unknown ©   (2006-06-25 03:41) [1]

SELECT * FROM T_BILET
WHERE
EXTRACT (YEAR FROM F_DATE)=EXTRACT (YEAR FROM CURRENT_TIMESTAMP)
AND
EXTRACT (MONTH FROM F_DATE)=EXTRACT (MONTH FROM CURRENT_TIMESTAMP)
AND
EXTRACT (DAY FROM F_DATE)=EXTRACT (DAY FROM CURRENT_TIMESTAMP)
AND
EXTRACT (HOUR FROM F_TIME)>=EXTRACT (HOUR FROM CURRENT_TIMESTAMP)-3


 
unknown ©   (2006-06-25 03:44) [2]

Переборщил. Можно еще проще :)
SELECT * FROM T_BILET
WHERE
F_DATE=CURRENT_DATE AND
EXTRACT (HOUR FROM F_TIME)>=EXTRACT (HOUR FROM CURRENT_TIMESTAMP)-3


 
sniknik ©   (2006-06-25 10:52) [3]

> Переборщил. Можно еще проще :)
можно
SELECT * FROM T_BILET
WHERE (F_DATE+F_TIME+0.0416666666666667*3) > CURRENT_TIMESTAMP

хотя было бы лучше для данного случая хранить датувремя одним полем.

> PS: база данных FIREBIRD 2.0
во втором могли добавить нормальных функция работы с датами... типа как в mssql где вместо "дикого" числа (в примере = час) можно написать DATEADD(hh, 3, F_DATE+F_TIME), смотри в документацию и на сайт, что там добавлено.


 
unknown ©   (2006-06-25 11:02) [4]


> sniknik ©   (25.06.06 10:52) [3]
> во втором могли добавить

Не добавили к сожалению.


 
fantasy ©   (2006-06-25 14:36) [5]

Большое спасибо за поддержку!


 
fantasy ©   (2006-06-25 15:03) [6]

0.0416666666666667 число как вычислить ?
это что на чтоо деленое ?


 
sniknik ©   (2006-06-25 15:35) [7]

> 0.0416666666666667 число как вычислить ?
легко. ;) выполняеш в access(!!!) SELECT cDbl(TimeSerial(1, 0, 0)) готово.
ну или в mssql SELECT CAST(DATEADD(hh, 1, 0) AS Float)  аналогично.
(в дату забивается час и выдается в числовом представлении)

ну не знаю я как в firebird с датами нормально работать ;о)).

> это что на чтоо деленое ?
1 на 24 как ни странно... ;о))


 
Fantasy ©   (2006-06-25 18:29) [8]

Спосибо мастера!



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
15-1149861184
Ihor Osov'yak
2006-06-09 17:53
2006.07.16
эт, о перспективах...


2-1151410551
tony
2006-06-27 16:15
2006.07.16
Открыть файл


11-1129561744
Vladimir Kladov
2005-10-17 19:09
2006.07.16
Версия 2.16


3-1147627956
drucha
2006-05-14 21:32
2006.07.16
создание бд interbase


15-1150233774
Piter
2006-06-14 01:22
2006.07.16
Посоветуйте как рисовать блок-схемы