Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите убрать extract / 17 сообщений из 17, страница 1 из 1
30.06.2004, 16:43:26
    #32583792
EXHAUSTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
(CAST (EXTRACT(DAY FROM Lung_Cancer.op_date)||'.'||
EXTRACT(MONTH FROM Lung_Cancer.op_date)||'.'||
EXTRACT(YEAR FROM Lung_Cancer.op_date+5) AS DATE)<death_date)


работает в эксперте но делфа это не жрет ругается на екстракт

надо чтобы разница между датами была> 5 лет
версия сервра interbase 6.0-6.01
...
Рейтинг: 0 / 0
30.06.2004, 16:45:46
    #32583799
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
не понял

вы пишете sql прямо в текст дельфи чтоли...
...
Рейтинг: 0 / 0
30.06.2004, 16:49:49
    #32583814
EXHAUSTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
запрос посылаю через IBQuerry

просьба просто помочь исбавиться от экстракта и все
...
Рейтинг: 0 / 0
30.06.2004, 16:54:42
    #32583838
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
Если тебя не сильно интересует точность, то можно принять в качестве
календарного года - год астрономический. Он составляет 365,26 дней.
Умножаем на 5.
Получается 1826.3 дня.
Вот эту дельту и сравнивай.
(Можешь округлить)
...
Рейтинг: 0 / 0
30.06.2004, 17:48:08
    #32583978
EXHAUSTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
(death_date-Lung_Cancer.op_date)>1827 -вот такой кусок приводит в к
SQL ERROR:Dynamic SQL Error expression evaluation not supported

при этом эксперт его нормально обрабатывает
...
Рейтинг: 0 / 0
30.06.2004, 17:53:35
    #32583993
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
Давай сюда скрипты своих таблиц, участвующих в запросе.
Что-то тут не так...
...
Рейтинг: 0 / 0
30.06.2004, 17:59:16
    #32584017
EXHAUSTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
CREATE TABLE LUNG_CANCER (
PERSON_ID INTEGER NOT NULL,

OP_DATE DATE,


DEATH_DATE TIMESTAMP, {видимо вот она ошибка?}

);
...
Рейтинг: 0 / 0
30.06.2004, 18:03:43
    #32584034
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
Приведи их CAST'ом к одному типу в запросе.
Код: plaintext
(death_date - CAST(Lung_Cancer.op_date AS TIMESTAMP))> 1827  
К стати, почему у тебя одно поле с префиксом таблицы, а другое без?
...
Рейтинг: 0 / 0
30.06.2004, 18:09:29
    #32584048
EXHAUSTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
я оба поля привел к одинаковым типам ни с timestamp ни с date все равно не проходит
...
Рейтинг: 0 / 0
30.06.2004, 18:10:36
    #32584050
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
Диалект какой?
...
Рейтинг: 0 / 0
30.06.2004, 18:12:14
    #32584056
EXHAUSTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
3й диалект везде
...
Рейтинг: 0 / 0
30.06.2004, 18:16:37
    #32584071
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
Фигня какая-то.
У всех работает, у тебя не работает.
Давай исправленный запрос. Посмотрим.
...
Рейтинг: 0 / 0
30.06.2004, 18:19:54
    #32584078
EXHAUSTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
SELECT COUNT (person.person_id) FROM Person,Lung_Cancer,Perif_Cancer
WHERE Person.person_id=Lung_Cancer.Person_id
AND (Person.age BETWEEN 0 AND 49 )
AND (Lung_Cancer.perif_id=Perif_Cancer.perif_id)
AND (Perif_Cancer.perif_id='1')
AND ((Lung_Cancer.death_date-Lung_Cancer.op_date)>1827)

сервер Interbase 6.0-6.01
...
Рейтинг: 0 / 0
30.06.2004, 18:21:25
    #32584083
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
Не вижу CAST
...
Рейтинг: 0 / 0
30.06.2004, 23:44:39
    #32584353
vl2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
в библиотеке RFUNC есть функция:
IncDate(d,i1,i2,i3) - Изменение даты на i1 дней, i2 месяцев, i3 лет

т.е. IncDate('29.02.2000',0,0,5) прибавляет к дате 5 лет (причем учитываются высокосные года, соответственно -5, отнимает). Может это поможет?
...
Рейтинг: 0 / 0
30.06.2004, 23:50:48
    #32584359
vl2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
Твой запрос будет выглядеть так:

Код: plaintext
1.
2.
3.
4.
5.
SELECT COUNT (person.person_id) FROM Person,Lung_Cancer,Perif_Cancer 
WHERE Person.person_id=Lung_Cancer.Person_id 
AND (Person.age BETWEEN  0  AND  49  ) 
AND (Lung_Cancer.perif_id=Perif_Cancer.perif_id) 
AND (Perif_Cancer.perif_id='1') 
AND ((Lung_Cancer.death_date > IncDate(Lung_Cancer.op_date, 0 , 0 , 5 )))
...
Рейтинг: 0 / 0
01.07.2004, 07:58:24
    #32584462
vl2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите убрать extract
извиняюсь, в последнем AND со скобками намудрил. Сильно спать хотел.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите убрать extract / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]