Главная страница
    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.45 MB
Время: 0.009 c
2-1151409152
dest81
2006-06-27 15:52
2006.07.16
Тонкий клиент


15-1150266529
REA
2006-06-14 10:28
2006.07.16
Уотерс и money


4-1144406187
leonidus
2006-04-07 14:36
2006.07.16
Передача в dll строки widestring


15-1150206347
palva
2006-06-13 17:45
2006.07.16
Как поставить плагин к DJVU


3-1147609558
eJack
2006-05-14 16:25
2006.07.16
Живые наборы данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский