Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
2-1151467285
Freze_Kati
2006-06-28 08:01
2006.07.16
Как вставить часть французского текста?


2-1151336611
b.o.n.d.007
2006-06-26 19:43
2006.07.16
Не понимаю циклы. Помогите.


1-1149500016
Kolan
2006-06-05 13:33
2006.07.16
Как использовать только часть массива?


15-1150454113
DVM
2006-06-16 14:35
2006.07.16
Нашел одну фишку в TSpeedButton


2-1151306558
manevil
2006-06-26 11:22
2006.07.16
запуск с параметрами




   Наверх