![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Округление даты-время в дату в SQL [FireBird-a 1.5]
DelphiN! © (2007-06-26 11:36:00)Есть таблица со значениями :
Time_ SUMM_
01.01.2006 01:08:54 100
01.01.2006 02:07:43 200
02.01.2006 01:05:18 800
02.01.2006 03:00:16 400
03.01.2006 04:02:27 1200
Необходимо вывести результат запроса :
01.01.2006 300
02.01.2006 1200
03.01.2006 1200
Как написать подобный SQL запрос?
Кщд (2007-08-17 07:10:00) [1]
> В оракле видел запросы вида :
> select trunc(to_date(sysdate, 'DD-MM-YYYY')) from dual
офф: тут уж либо trunc, либо to_date. иначе - масло масляное)
vlad_ (2007-08-16 18:35:00) [2]
> Кстати, вот так на 1.5-ке пойдётSELECT EXTRACT(DAY FROM
> Time_)||'.'||EXTRACT(MONTH FROM Time_)||'.'||EXTRACT(YEAR
> FROM Time_), SUM(...) FROM TableGROUP BY 1
более красивее
cast(cast(time_ as varchar(11)) as date)
Desdechado (2007-06-26 15:53:00) [3]> Ура! Спасибо!
Долго же тебе разжевывать пришлось...
DelphiN! (2007-06-26 15:17:00) [4]
> Johnmen © (26.06.07 15:13) [24]
Ура! Спасибо!
Johnmen (2007-06-26 15:14:00) [5]
> DelphiN! © (26.06.07 15:10) [23]
> А какие решения есть в 3ем диалекте?
[1]
Johnmen (2007-06-26 15:13:00) [6]Кстати, вот так на 1.5-ке пойдёт
SELECT EXTRACT(DAY FROM Time_)||'.'||EXTRACT(MONTH FROM Time_)||'.'||EXTRACT(YEAR FROM Time_), SUM(...) FROM Table
GROUP BY 1
DelphiN! (2007-06-26 15:10:00) [7]
> Johnmen © (26.06.07 15:02) [22]
А какие решения есть в 3ем диалекте?
Johnmen (2007-06-26 15:02:00) [8]
> Разве нельзя преобразовать дату-время к формату даты?
Нельзя ибо нет такого формата в 1 диалекте.
> В оракле видел запросы вида : select trunc(to_date(sysdate,
> 'DD-MM-YYYY')) from dual
Есть аналогичное, но что тебе это даст? Тебе же группировать надо!
DelphiN! (2007-06-26 14:52:00) [9]
> Johnmen © (26.06.07 14:39) [19]
Разве нельзя преобразовать дату-время к формату даты?
Данных много и таблица рабочая ... Неужели нельзя обойтись sql-ем
В оракле видел запросы вида :
select trunc(to_date(sysdate, 'DD-MM-YYYY')) from dual
неужели в FireBird-е нет аналогичного решения?
DelphiN! (2007-06-26 14:43:00) [10]IbExpert main menu -> Options -> Environment options -> Grid -> Display formats -> DateTime Fields -> dd.mm.yyyy
приводит к тому что отображаются данные поля без времени, но при двойном щелчке на поле показывается и время, причем вывод уникальных значений select distinct TIME_ дает много одинаковых значений, щелкнув на которые оказывается что в каждом значении даты\времени разное время
Вобщем меняется только визуальное отображение в таблице
Johnmen (2007-06-26 14:39:00) [11]
> DelphiN! © (26.06.07 14:30) [15]
Добавь вычисляемое поле в таблицу, где будет чистая дата, и по нему группируй.
zz 5 (2007-06-26 14:35:00) [12]
> Причем тут формат отображения??
В том, что надо выводить только дату без времени. А это делается с помощью формата отображения полей типа DateTime в настройках IBExpert
Johnmen (2007-06-26 14:35:00) [13]
> DelphiN! © (26.06.07 14:30) [15]
> Причем тут формат отображения??
Как причём? Ты же отображаешь в [15].
Johnmen (2007-06-26 14:33:00) [14]и объясни, зачем время указывалось при заполнении поля Time_?
DelphiN! (2007-06-26 14:30:00) [15]
> Johnmen © (26.06.07 14:29) [14]
:'(((
Причем тут формат отображения??
Мне нужно из
Time_ SUMM_
01.01.2006 01:08:54 100
01.01.2006 02:07:43 200
02.01.2006 01:05:18 800
02.01.2006 03:00:16 400
03.01.2006 04:02:27 1200
получить :
01.01.2006 300
02.01.2006 1200
03.01.2006 1200
Johnmen (2007-06-26 14:29:00) [16]А-а-а... Тогда ищи в настройках IBExpert'а формат отображения датавременных полей....
DelphiN! (2007-06-26 14:25:00) [17]
> Johnmen © (26.06.07 14:24) [12]
IBExpert main menu -> Grid -> Save data as ... XLS File
Johnmen (2007-06-26 14:24:00) [18]
> DelphiN! © (26.06.07 14:17) [10]
Какая связь между "SQL editor IBExpert" и "екселем"?
DelphiN! (2007-06-26 14:22:00) [19]
> Desdechado © (26.06.07 13:25) [7]
Ф-ии TRUNC в FireBird нет.
А с помощью ф-ии Extract можно получить по отдельности день недели, месяц, день месяца, год, а дату без времени то как?
DelphiN! (2007-06-26 14:17:00) [20]Что значит на что влияет?
Мне нужно дать в екселе руководству отчет по выручке за каждый день, если дата будет в виде 01.01.2006 00:00:00 ничего страшного, главное чтобы сумма бала за период с 01.01.2006 00:00:00 по 01.01.2006 23:59:59 а отображалась в таблице в виде
01.01.2006 300
или
01.01.2006 00:00:00 300