Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.23;
Скачать: CL | DM;

Вниз

Округление даты-время в дату в SQL   Найти похожие ветки 

 
DelphiN! ©   (2007-06-26 11:36) [0]

Есть таблица со значениями :


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 запрос?


 
Desdechado ©   (2007-06-26 11:37) [1]

CAST( x AS DATE )


 
Johnmen ©   (2007-06-26 12:58) [2]


> Необходимо вывести результат запроса :

Так вывести или что?
А диалект какой?


 
DelphiN! ©   (2007-06-26 13:03) [3]


> Johnmen ©   (26.06.07 12:58) [2]


Вывести
FireBird 1.5


 
Desdechado ©   (2007-06-26 13:13) [4]

> FireBird 1.5
Это не диалект.


 
DelphiN! ©   (2007-06-26 13:19) [5]

Извиняюсь, диалект 1


 
Johnmen ©   (2007-06-26 13:23) [6]

Так, идём дальше....
Вывести куда?


 
Desdechado ©   (2007-06-26 13:25) [7]

SUM
GROUP BY
EXTRACT
TRUNC


 
DelphiN! ©   (2007-06-26 14:07) [8]


> Johnmen ©   (26.06.07 13:23) [6]


Всмысле куда? В таблицу ... В SQL editor-e IBExpert-a нужно написать запрос и получить в гриде соответствующий результат


 
Johnmen ©   (2007-06-26 14:09) [9]


> DelphiN! ©   (26.06.07 14:07) [8]
> В таблицу ... В SQL editor-e IBExpert-a нужно написать запрос и получить
> в гриде соответствующий результат

Ну получишь вместе со временем, на что это влияет?


 
DelphiN! ©   (2007-06-26 14:17) [10]

Что значит на что влияет?
Мне нужно дать в екселе руководству отчет по выручке за каждый день, если дата будет в виде 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


 
DelphiN! ©   (2007-06-26 14:22) [11]


> Desdechado ©   (26.06.07 13:25) [7]


Ф-ии TRUNC в FireBird нет.
А с помощью ф-ии Extract можно получить по отдельности день недели, месяц, день месяца, год, а дату без времени то как?


 
Johnmen ©   (2007-06-26 14:24) [12]


> DelphiN! ©   (26.06.07 14:17) [10]

Какая связь между "SQL editor IBExpert" и "екселем"?


 
DelphiN! ©   (2007-06-26 14:25) [13]


> Johnmen ©   (26.06.07 14:24) [12]


IBExpert main menu -> Grid -> Save data as ... XLS File


 
Johnmen ©   (2007-06-26 14:29) [14]

А-а-а... Тогда ищи в настройках IBExpert"а формат отображения датавременных полей....


 
DelphiN! ©   (2007-06-26 14:30) [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:33) [16]

и объясни, зачем время указывалось при заполнении поля Time_?


 
Johnmen ©   (2007-06-26 14:35) [17]


> DelphiN! ©   (26.06.07 14:30) [15]
> Причем тут формат отображения??

Как причём? Ты же отображаешь в [15].


 
zz 5 ©   (2007-06-26 14:35) [18]


> Причем тут формат отображения??


В том, что надо выводить только дату без времени. А это делается с помощью формата отображения полей типа DateTime в настройках IBExpert


 
Johnmen ©   (2007-06-26 14:39) [19]


> DelphiN! ©   (26.06.07 14:30) [15]

Добавь вычисляемое поле в таблицу, где будет чистая дата, и по нему группируй.


 
DelphiN! ©   (2007-06-26 14:43) [20]

IbExpert main menu -> Options -> Environment options -> Grid -> Display formats -> DateTime Fields -> dd.mm.yyyy
приводит к тому что отображаются данные поля без времени, но при двойном щелчке на поле показывается и время, причем вывод уникальных значений select distinct TIME_ дает много одинаковых значений, щелкнув на которые оказывается что в каждом значении даты\времени разное время

Вобщем меняется только визуальное отображение в таблице


 
DelphiN! ©   (2007-06-26 14:52) [21]


> Johnmen ©   (26.06.07 14:39) [19]


Разве нельзя преобразовать дату-время к формату даты?
Данных много и таблица рабочая ... Неужели нельзя обойтись sql-ем

В оракле видел запросы вида :
select trunc(to_date(sysdate, "DD-MM-YYYY")) from dual

неужели в FireBird-е нет аналогичного решения?


 
Johnmen ©   (2007-06-26 15:02) [22]


> Разве нельзя преобразовать дату-время к формату даты?

Нельзя ибо нет такого формата в 1 диалекте.

> В оракле видел запросы вида : select trunc(to_date(sysdate,
>  "DD-MM-YYYY")) from dual

Есть аналогичное, но что тебе это даст? Тебе же группировать надо!


 
DelphiN! ©   (2007-06-26 15:10) [23]


> Johnmen ©   (26.06.07 15:02) [22]


А какие решения есть в 3ем диалекте?


 
Johnmen ©   (2007-06-26 15:13) [24]

Кстати, вот так на 1.5-ке пойдёт
SELECT EXTRACT(DAY FROM Time_)||"."||EXTRACT(MONTH FROM Time_)||"."||EXTRACT(YEAR FROM Time_), SUM(...) FROM Table
GROUP BY 1


 
Johnmen ©   (2007-06-26 15:14) [25]


> DelphiN! ©   (26.06.07 15:10) [23]
> А какие решения есть в 3ем диалекте?

[1]


 
DelphiN! ©   (2007-06-26 15:17) [26]


> Johnmen ©   (26.06.07 15:13) [24]


Ура! Спасибо!


 
Desdechado ©   (2007-06-26 15:53) [27]

> Ура! Спасибо!
Долго же тебе разжевывать пришлось...


 
vlad_   (2007-08-16 18:35) [28]


> Кстати, вот так на 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)


 
Кщд ©   (2007-08-17 07:10) [29]


> В оракле видел запросы вида :
> select trunc(to_date(sysdate, "DD-MM-YYYY")) from dual

офф: тут уж либо trunc, либо to_date. иначе - масло масляное)



Страницы: 1 вся ветка

Текущий архив: 2007.12.23;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.022 c
15-1196026503
Tos-ka
2007-11-26 00:35
2007.12.23
Подскажите условиями входит точка в тело или нет.


15-1196159536
All More system
2007-11-27 13:32
2007.12.23
Разработка динамического сайта


11-1180257197
homm
2007-05-27 13:13
2007.12.23
Давненько я багрепортов не слал :)


1-1191421712
ggg
2007-10-03 18:28
2007.12.23
Недостаточно памяти для обработки команды.


15-1195804128
TUser
2007-11-23 10:48
2007.12.23
Посоветуйте маршрутизатор