Главная страница
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.029 c
2-1151522230
resuS
2006-06-28 23:17
2006.07.16
Запуск приложения. Пользователь в неведении.


1-1149287685
lamer_y
2006-06-03 02:34
2006.07.16
Проблема с TStrings


2-1151514986
NORDmen
2006-06-28 21:16
2006.07.16
Поток в созаднном мной классе


1-1149059340
.ruslan
2006-05-31 11:09
2006.07.16
ListView и строки разных цветов, чередование


15-1150640191
***(H@kker)***
2006-06-18 18:16
2006.07.16
Windows SDK и MSDN